diff options
Diffstat (limited to 'README')
| -rw-r--r-- | README | 107 | 
1 files changed, 54 insertions, 53 deletions
| @@ -1,19 +1,19 @@ -% Xmobar - A Minimalistic Text Based Status Bar +% xmobar - A Minimalistic Text Based Status Bar  % Andrea Rossato  About  ----- -[Xmobar] is a minimalistic, text based, status bar. It was designed to -work with the [XMonad] Window Manager. +[xmobar] is a minimalistic, text based, status bar. It was designed to +work with the [xmonad] Window Manager.  It was inspired by the [Ion3] status bar, and supports similar features,  like dynamic color management, output templates, and extensibility  through plugins. -[This is a screen shot] of my desktop with [XMonad] and [Xmobar]. +[This is a screen shot] of my desktop with [xmonad] and [xmobar]. -[Xmobar] supports XFT and UTF-8 locales. +[xmobar] supports XFT and UTF-8 locales.  See `xmobar.config-sample`, distributed with the source code, for a  sample configuration. @@ -21,7 +21,7 @@ sample configuration.  Download  -------- -You can get the [Xmobar] source code from [Hackage]. +You can get the [xmobar] source code from [Hackage].  To get the darcs source run: @@ -29,38 +29,39 @@ To get the darcs source run:  The latest binary can be found here: -        http://code.haskell.org/~arossato/xmobar/xmobar-0.8.bin +        http://code.haskell.org/~arossato/xmobar/xmobar-0.9.bin  A recent screen shot can be found here: -        http://code.haskell.org/~arossato/xmobar/xmobar-0.8.png +        http://code.haskell.org/~arossato/xmobar/xmobar-0.9.png -Version 0.8 requires Cabal-1.2.x, but works both with ghc-6.6.1 and -ghc-6.8.1. - -[Here you can find] a source tree of xmobar-0.8 which works with -Cabal-1.1.x, but compiles only with ghc-6.6.x: - -        http://code.haskell.org/~arossato/xmobar/xmobar-0.8-Cabal-1.1-ghc-6.6.tar.gz - -[Here you can find]: http://code.haskell.org/~arossato/xmobar/xmobar-0.8-Cabal-1.1-ghc-6.6.tar.gz +Version 0.9 requires Cabal-1.2.x, but should work both with ghc-6.6.1 +and ghc-6.8.1.  Installation  ------------  To install simply run: -        tar xvfz xmobar-0.8 -        cd xmobar-0.8 +        tar xvfz xmobar-0.9 +        cd xmobar-0.9 + +Then run the configure script: +          runhaskell Setup.lhs configure -        # Or, to enable UTF-8 support: -        # runhaskell Setup.lhs configure --flags="with_utf8" -	# Or, to enable XFT and UTF-8 support: -        # runhaskell Setup.lhs configure --flags="with_xft" + +        # To enable UTF-8 support run: +        runhaskell Setup.lhs configure --flags="with_utf8" + +        # To enable both XFT and UTF-8 support run: +        runhaskell Setup.lhs configure --flags="with_xft" + +Now you can build the source: +          runhaskell Setup.lhs build          runhaskell Setup.lhs install # possibly to be run as root -Run with: +You can now run [xmobar] with:          xmobar /path/to/config & @@ -73,7 +74,7 @@ if you have the default configuration file saved as `~/.xmobarrc`  Utf-8 and Xft Support  --------------------- -[Xmobar] can be compiled with UTF-8 and XFT support. If you want UTF-8 +[xmobar] can be compiled with UTF-8 and XFT support. If you want UTF-8  support only, you just need to run the configuration script with the  `"with_utf"` flag: @@ -87,7 +88,7 @@ script with the `"with_xft"` flag:           runhaskell Setup.lhs configure --flags="with_xft" -Then build [Xmobar] as usual. +Then build [xmobar] as usual.  To use XFT fonts you need to use the `xft:` prefix in the `font`  configuration option. For instance: @@ -125,14 +126,14 @@ Other configuration options:  :     TopW and BottomW take 2 arguments: an alignment parameter (L for        left, C for centered, R for Right) and an integer for the -      percentage width Xmobar window will have in respect to the +      percentage width xmobar window will have in respect to the        screen width.  :     For example: -:          position = Bottom C 75 +:          position = BottomW C 75 -:     to place Xmobar at the bottom, centered with the 75% of the screen width. +:     to place xmobar at the bottom, centered with the 75% of the screen width.  :     Or @@ -160,7 +161,7 @@ Other configuration options:  ### Command Line Options -[Xmobar] can be either configured with a configuration file or with +[xmobar] can be either configured with a configuration file or with  command line options. In the second case, the command line options  will overwrite the corresponding options set in the configuration  file. @@ -179,8 +180,8 @@ xmobar --help):        -f font name  --font=font name     The font name        -B bg color   --bgcolor=bg color   The background color. Default black        -F fg color   --fgcolor=fg color   The foreground color. Default grey -      -o            --top                Place Xmobar at the top of the screen -      -b            --bottom             Place Xmobar at the bottom of the screen +      -o            --top                Place xmobar at the top of the screen +      -b            --bottom             Place xmobar at the bottom of the screen        -a alignsep   --alignsep=alignsep  Separators for left, center and right text                                           alignment. Default: '}{'        -s char       --sepchar=char       The character used to separate commands in @@ -191,14 +192,14 @@ xmobar --help):  ### The Output Template -The output template must contain at least one command. [Xmobar] will +The output template must contain at least one command. [xmobar] will  parse the template and will search for the command to be executed in  the `commands` configuration option. First an `alias` will be searched  (plugins such as Weather or Network have default aliases, see below).  After that, the command name will be tried. If a command is found, the  arguments specified in the `commands` list will be used. -If no command is found in the `commands` list, [Xmobar] will ask the +If no command is found in the `commands` list, [xmobar] will ask the  operating system to execute a program with the name found in the  template. If the execution is not successful an error will be  reported. @@ -206,9 +207,9 @@ reported.  ### The `commands` Configuration Option  The `commands` configuration option is a list of commands information -and arguments to be used by [Xmobar] when parsing the output template. +and arguments to be used by [xmobar] when parsing the output template.  Each member of the list consists in a command prefixed by the `Run` -keyword. Each command has arguments to control the way [Xmobar] is going +keyword. Each command has arguments to control the way [xmobar] is going  to execute it.  The option consists in a list of commands separated by a comma and @@ -223,7 +224,7 @@ swap monitor plugin, with default options, every second.  The only internal available command is `Com` (see below Executing  External Commands). All other commands are provided by plugins. -[Xmobar] comes with some plugins, providing a set of system monitors, +[xmobar] comes with some plugins, providing a set of system monitors,  a standard input reader, an Unix named pipe reader, and a configurable  date plugin. These plugins install the following internal commands:  `Weather`, `Network`, `Memory`, `Swap`, `Cpu`, `Battery`, `Thermal`, @@ -353,7 +354,7 @@ Commands' arguments must be set as a list. Es:      Run Weather "EGPF" ["-t","<station>: <tempC>C"] 36000 -In this case [Xmobar] will run the weather monitor, getting information +In this case [xmobar] will run the weather monitor, getting information  for the weather station ID EGPF (Glasgow Airport, as a homage to GHC)  every hour (36000 tenth of seconds), with a template that will output  something like: @@ -397,7 +398,7 @@ Plugins  ### Writing a Plugin -Writing a plugin for [Xmobar] should be very simple. You need to create +Writing a plugin for [xmobar] should be very simple. You need to create  a data type with at least one constructor.  Next you must declare this data type an instance of the `Exec` class, by @@ -454,12 +455,12 @@ This requires importing your plugin into `Config.hs` and adding your  type to the type list in the type signature of `Config.runnableTypes`.  For a very basic example see `Plugins/HelloWorld.hs` or the other -plugins that are distributed with [Xmobar]. +plugins that are distributed with [xmobar].  ### Installing/Removing a Plugin  Installing a plugin should require 3 steps. Here we are going to -install the HelloWorld plugin that comes with [Xmobar]: +install the HelloWorld plugin that comes with [xmobar]:  1. import the plugin module in `Config.hs`, by adding: @@ -472,7 +473,7 @@ install the HelloWorld plugin that comes with [Xmobar]:          runnableTypes :: (Command,(Monitors,(HelloWorld,())))          runnableTypes = undefined -3. Rebuild and reinstall [Xmobar]. Now test it with: +3. Rebuild and reinstall [xmobar]. Now test it with:          xmobar Plugins/helloworld.config @@ -506,31 +507,31 @@ To remove the system monitor plugin:           runnableTypes :: (Command,())           runnableTypes = undefined -3. rebuild [Xmobar]. +3. rebuild [xmobar].  Credits  -------  Thanks to Robert Manea and Spencer Janssen for their help in  understanding how X works. They gave me suggestions on how to solve -many problems with [Xmobar]. +many problems with [xmobar].  Thanks to Claus Reinke for make me understand existential types (or at  least for letting me think I grasp existential types...;-). -[Xmobar] incorporates patches from: Krzysztof Kosciuszkiewicz, Spencer +[xmobar] incorporates patches from: Krzysztof Kosciuszkiewicz, Spencer  Janssen, Jens Petersen, Dmitry Kurochkin, and Lennart Kolmodin.  Useful links  ------------ -The [Xmobar] home page +The [xmobar] home page -The [XMonad] home page +The [xmonad] home page -[Xmobar darcs repository] +[xmobar darcs repository] -To understand the internal mysteries of Xmobar you may try reading +To understand the internal mysteries of xmobar you may try reading  this tutorial [on X Window Programming in Haskell].  Author @@ -538,7 +539,7 @@ Author  Andrea Rossato -`andrea.rossato at unibz.it` +`andrea.rossato at ing.unitn.it`  Legal  ----- @@ -550,10 +551,10 @@ Copyright © 2007 Andrea Rossato  [This is a screen shot]: http://haskell.org/sitewiki/images/a/ae/Arossato-config.png  [Hackage]: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmobar -[Xmobar]: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmobar -[Xmobar darcs repository]: http://code.haskell.org/xmobar +[xmobar]: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmobar +[xmobar darcs repository]: http://code.haskell.org/xmobar  [on X Window Programming in Haskell]: http://www.haskell.org/haskellwiki/X_window_programming_in_Haskell  [Ion3]: http://modeemi.fi/~tuomov/ion/ -[XMonad]: http://xmonad.org +[xmonad]: http://xmonad.org  [utf8-string]: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/utf8-string  [X11-xft]: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/X11-xft | 
