packages feed

xmobar 0.9 → 0.9.1

raw patch · 14 files changed

+234/−1062 lines, 14 filesdep +hinotifydep ~base

Dependencies added: hinotify

Dependency ranges changed: base

Files

− ChangeLog
@@ -1,1018 +0,0 @@-Thu May  1 10:26:29 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  tagged 0.9 release--Tue Apr 29 14:59:53 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * style, pointfree and trailing spaces--Tue Apr 29 14:36:03 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Parsers: code and comment cleanup--Tue Apr 29 14:27:29 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal update--Tue Apr 29 12:33:12 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: updated to latest changes--Tue Apr 29 12:32:42 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * email address, copyright date and more--Tue Apr 29 12:32:15 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * bump cabal version to 0.9--Tue Apr 29 12:29:44 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Weather: close handles when successfully retrieving the data--Tue Apr 29 12:28:48 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * style--Tue Apr 29 11:43:41 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Parser: '<' and '>' are not reserved characters anymore and can be used in the template-  -  Consider this the first 0.9 release candidate.-  --Sat Apr 19 11:00:32 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * config-sample: use Top for positioning-  With Static xmobar does not set _NET_WM_STRUT_PARTIAL, which causes-  troubles to novice xmonad users. --Fri Apr 18 20:53:36 CEST 2008  Spencer Janssen <sjanssen@cse.unl.edu>-  * Remove -threaded from ghc-options.-  GHC's -threaded scheduler seems to wake up more frequently even when all-  threads are idle.  These frequent wakeups are detrimental to laptop battery-  life.--Sun Mar 30 22:37:22 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * move "use_xft" to "with_xft"--Sun Mar 30 22:01:15 CEST 2008  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>-  * XUtil: fix UTF-8 check.--Sun Mar 30 11:15:37 CEST 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Fix _NET_WM_STRUT_PARTIAL implementation--Sat Mar 29 11:38:34 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Set _NET_WM_STRUT_PARTIAL instead of _NET_WM_STRUT and change mkUnmanageWindow to newWindow--Tue Mar 18 11:18:58 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Automate version generation--Mon Mar 17 13:23:27 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: typos--Sun Mar 16 17:46:42 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: updated to latest changes--Sun Mar 16 17:01:15 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Add BatteryP a monitor for batteries-  -  With this monitor is possible to set specific location where to-  retrieve battery information.-  -  For example:-  Run BatteryP ["BAT0","BAT1","BAT2"] [] 10-  -  this will read the following files:-  /proc/acpi/battery/BAT0/info and /proc/acpi/battery/BAT0/state-  /proc/acpi/battery/BAT1/info and /proc/acpi/battery/BAT1/state-  /proc/acpi/battery/BAT1/info and /proc/acpi/battery/BAT2/state--Sun Mar 16 13:28:05 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Config: use more xmonad friendly defaults--Sun Mar 16 13:11:00 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * add XFT support and make UTF-8 support configurable-  This patch includes many changes:-  - moved font and printing functions to XUtil.hs and created an-    abstraction layer to font management;-  - ported the core, StdinReader and PipeReader to the new font-    management system.-  -  To enable UTF-8 support configure with the "with_utf8" flag (requires-  utf8-string):-  runhaskell Setup.lhs configure --flags="with_utf8"-  -  To enable XFT (which will turn on UTF-8 support too) configure with the-  "with_utf8" flag (requires utf8-string and X11-xft):-  runhaskell Setup.lhs configure --flags="use_xft"--Wed Feb 27 20:00:51 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Date: haddock fixes--Wed Feb 27 14:38:29 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * remove xmobar.css from repository--Tue Feb 26 16:19:18 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Add reference to curl dependency of the Weather plugin in the README-  and remove README.html from the repository--Tue Feb 19 02:19:09 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Xmobar: vertical align after wc string--Sat Feb 16 17:06:50 CET 2008  Juraj Hercek <juhe_haskell@hck.sk>-  * Adjusted filter used for digging out information from /sys directory-    - As of 2.4.24 kernel you might experience same frequency for all cores,-      because cpufreq directory is a link for cores 1 and higher--Sat Feb 16 09:14:58 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal: remove unneeded -liconv linker flag--Sat Feb 16 09:04:21 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * PipeReader: add utf8 support--Sat Feb 16 09:03:06 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * StdinReader: add utf8 support--Sat Feb 16 09:01:51 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * add utf8 support to the core system--Sat Feb 16 09:01:04 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal: add HsLocale and dependency on utf8-string--Sat Feb 16 09:00:26 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Add HsLocale to support utf8--Sat Feb 16 08:58:42 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * trailing spaces--Wed Jan  9 10:43:54 CET 2008  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Set strut value for BottomW and TopW too--Sun Dec 23 00:14:19 CET 2007  Juraj Hercek <juhe_haskell@hck.sk>-  * Added documentation.-    - added Thermal, CoreTemp, CpuFreq documentation to README file-    - added haddock documentation--Sun Dec 23 00:10:39 CET 2007  Juraj Hercek <juhe_haskell@hck.sk>-  * Adjusted thermal monitor.-    - Thermal monitor can handle more thermal zones now--Sun Dec 16 01:13:26 CET 2007  Spencer Janssen <sjanssen@cse.unl.edu>-  * Remove -O2 -fasm from ghc-options, allow Cabal to determine the best flags--Tue Dec  4 15:54:49 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal: directory needed only with small_base--Fri Nov 30 21:54:30 CET 2007  Juraj Hercek <juhe_haskell@hck.sk>-  * Added thermal, cpufreq and coretemp monitors.-  Prerequisities:-  thermal-  - thermal module should be loaded/compiled in kernel-  - available in (at least) intel centrino processors-  cpufreq-  - acpi_cpufreq module should be loaded/compiled in kernel-  - available in modern processors-  coretemp-  - coretemp module should be loaded/compiled in kernel-  - available (at least) in core 2 duo processors--Sun Nov 18 13:07:23 CET 2007  Alexander Solovyov <piranha@piranha.org.ua>-  * Typo fixes--Thu Nov 15 14:49:05 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Now that a cold winter is approaching I added a new feature to Weather: the capacity of reading negative temperature.-  This feature is generally not needed in Summertime. --Wed Nov 14 08:47:08 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: typo--Sun Nov 11 17:31:12 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  tagged 0_8_release--Sun Nov 11 10:59:56 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal: updated cabal file to work with 1.2 and both ghc-6.6 and 6.8--Sun Nov 11 10:59:19 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: added reference to a source tree that works with Cabal-1.1.x--Thu Nov  8 00:10:28 CET 2007  Spencer Janssen <sjanssen@cse.unl.edu>-  * StdinReader: exit when stdin has been closed--Mon Nov  5 11:23:54 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Plugins/Monitors/Common.hs: fix a bug in stringParser--Sun Nov  4 18:58:56 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README:updated to latest changes--Sun Nov  4 18:45:51 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * A new implementation of the position configuration option-  WARNING: this patch breaks previous configuration files.-  A new implementation of the position configuration option:-  - Top and Bottom have non arguments-  - TopW and BottomW have now 2 arguments: Align (L, C or R) and Int-  - setting a width % greater than 100 means a 100% width--Sun Nov  4 16:32:44 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * helloworld.config updated to recent changes--Sun Nov  4 16:26:26 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Preserve backward compatibility-  WARNING: this patch changes the configuration file-  This patch reintroduces backward compatibility with recent changes in-  the configuration option. Now Top and Bottom do not take any argument.-  To set the width and alignment used TopW (Align Int) and BottomW-  (Align Int) instead, where Align is either C, L or R.--Sun Nov  4 12:21:06 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * helloworld.config: updated to latest configuration changes--Sun Nov  4 12:17:31 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added an argument to Top and Bottom type contructors--Sun Nov  4 12:16:55 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added an argument to Top and Bottom type contructors--Sun Nov  4 12:12:21 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added possibility to set the main window's width-  WARNING: this patch breaks previous configuration files!-  -  Changed the position configuration option: now Top and Bottom require-  one argument, the width of the main window. 4 possibilities are given:-  - A means all the screen width-  - C Int means centered, with the Int percentage of screen width-  - L Int means left aligned, with the Int percentage of screen width-  - R Int means right aligned, with the Int percentage of screen width-  -  Examples:-  position = Top A-  or-  position = Bottom (C 50)--Sun Nov  4 12:12:00 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Window is mapped after properties have been set--Sun Nov  4 12:11:11 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Fixed a compilation issue on non 32bit machines--Sat Nov  3 14:03:06 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Removed X11-extras-0.4 and bump X11 to 1.3.0--Thu Nov  1 10:11:09 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: added reference to a screenshot--Wed Oct 31 12:37:14 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: added link to xmonad home page--Wed Oct 31 12:28:10 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README updated darcs repository link--Wed Oct 31 12:25:07 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README added position examples--Wed Oct 31 11:58:34 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * css: fixed a validation error--Wed Oct 31 11:49:33 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README add link to Ion--Wed Oct 31 11:42:47 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added README.html and xmobar.css--Wed Oct 31 11:39:00 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README now uses pandoc: this way we can also generate a nice home page--Wed Oct 31 11:38:31 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Bump version to 0.8 and updated homepage--Mon Oct 29 08:38:26 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Code formatting only--Sun Oct 28 23:38:37 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Avoid irrefutable pattern in handling text alignment--Sun Oct 28 23:03:05 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: latest updates--Sun Oct 28 22:56:51 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added support for alignment commands in the output template--Sun Oct 28 22:55:15 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Main: removed align and added alignSep configuration option--Sun Oct 28 22:47:20 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added support for text alignment commands in the output template-  WARNING: this patch breaks old configuration files.-  - removed align configuration option-  - added alignSep configuration option, a 2 character string: the text-    before the first character will be align to left, the text in-    between the 2 characters will be centered, and the text after the-    second character will be align to the right. For instance:-    with alignSep="][" the following output template-    "left text ] %date% [ right text"-    will display "left text" aligned to the left, a centered date, and-    "right text" aligned to the right-  See xmobar.config-sample or /Plugins/helloworld.config for examples--Sun Oct 28 16:49:23 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: added credits to Lennart Kolmodin--Sun Oct 28 14:44:51 CET 2007  Lennart Kolmodin <kolmodin@gentoo.org>-  * Bump version requirement of X11-extras to 0.4-  The constructor ExposeEvent appered in X11-extras-0.4--Sun Oct 28 14:28:04 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: updated to latest changes--Sun Oct 28 14:19:56 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Now we use information returned by getScreenInfo to draw the main window and more-  - we now cache the FontStruct-  - position is automatically calculated and updated in reposn to XRandR events--Sun Oct 28 14:19:10 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Main: removed old options and added the new ones--Sun Oct 28 13:40:34 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated config-sample to latest changes--Sun Oct 28 13:40:10 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated config-sample to latest changes--Sun Oct 28 13:36:38 CET 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Removed xPos yPos width and height configuration option and added position-  WARNING: this patch breaks old configuration files:-  - removed xPos, yPos, width and height-  - a "position" configuration option has been added: this can be set to:-    Top-    Bottom-    Static {xpos = Int, ypos = Int, width = Int, height = Int}-  See xmobar.config-sample for an example--Sun Oct 28 00:05:50 CEST 2007  Spencer Janssen <sjanssen@cse.unl.edu>-  * We must listen for ConfigureNotify events on the root window for xrandr--Sun Oct 28 00:01:35 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added credits to Dmitry Kurochkin--Sat Oct 27 13:44:37 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README screenshot url--Sat Oct 27 13:33:25 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README some updates--Sat Oct 27 13:11:27 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added XRandR support-  - Added support for XRandR: if the screen configuration changes,-    Xmobar will use the configured width only if smaller than the screen-    width, otherwise the later will be used instead.-  - Now Xmonad will set _NET_WM_STRUT and will present itself as a DOCK-    application--Sat Oct 27 13:10:32 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Bump version to 0.8--Sat Oct 27 13:09:32 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Main will now open the connection with the X server--Sat Oct 27 13:08:34 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added X11-extras dependeny--Tue Oct 23 18:54:30 CEST 2007  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>-  * Fix text vertical alignment.--Fri Oct 12 21:39:44 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Allow setting the foreground color-  Now it is possible dynamically set the foreground color of strings to-  be displayed with the <fc=foreground,background>string</fc> tag.--Fri Oct 12 21:39:20 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Parser: semplify color parsing--Thu Oct 11 22:30:29 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * The MVar is needed to avoid a race condition-  As Spencer noted the checker thread may be throwing an exception-  immediately, thus producing a race condition.--Sat Oct  6 12:54:47 CEST 2007  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>-  * Remove MVar from eventLoop.--Wed Oct  3 10:58:06 CEST 2007  Dmitry Kurochkin <dmitry.kurochkin@gmail.com>-  * Use dynamic exceptions.--Fri Oct  5 00:39:21 CEST 2007  Spencer Janssen <sjanssen@cse.unl.edu>-  * Fix race conditions in Xmobar.eventLoop--Thu Oct  4 02:03:48 CEST 2007  Spencer Janssen <sjanssen@cse.unl.edu>-  * Weather plugin: accept temperatures with decimal points--Wed Oct  3 16:27:58 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README updated to recent API changes (the last hopefully)--Wed Oct  3 16:27:00 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Date: now implemented using rate and run--Wed Oct  3 16:25:49 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Reintroduced rate with a default implementation (1 second) to be used in the default implementation of start--Wed Oct  3 13:08:14 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: updated to recent API change--Wed Oct  3 13:07:43 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * HelloWorld defines only run--Wed Oct  3 13:06:09 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * reintroduced run as an Exec method: this way it is possible to write plugins by defining either run or start--Tue Oct  2 20:45:00 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * more code formatting--Tue Oct  2 20:40:57 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * coding style consistency--Tue Oct  2 20:11:34 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated README--Tue Oct  2 17:04:04 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Removed unneeded stuff-  Removed StateT: now we only use a ReaderT-  Some more code and comments cleanup--Tue Oct  2 13:53:19 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated helloworld.config-sample to latest changes--Tue Oct  2 13:52:44 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated config-sample to latest changes--Tue Oct  2 13:50:49 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal: added stm to the dependency list--Tue Oct  2 13:50:14 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Updated Parsers to latest changes--Tue Oct  2 13:49:37 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated Main to lates changes--Tue Oct  2 13:48:13 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Config: removed the refresh configuration option-  WARNING: this patch breaks previous configuration files. To update-  just get rid of the refresh configuration option ;)--Tue Oct  2 13:45:38 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Now Xmobar uses STM concurrency-  Now every time a TVar is updated the output window is redrawn. --Fri Sep 28 14:04:32 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added a plugin to read from stdin-  Try it with: xmobar -t "%StdinReader%" -c '[Run StdinReader]'-  then start writing ;)--Fri Sep 28 14:04:13 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Removed unused rate method--Fri Sep 28 14:03:44 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * code formatting--Fri Sep 28 14:02:55 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Removed unused rate method--Fri Sep 28 14:02:18 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Removed unused rate method--Thu Sep 27 21:40:26 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * more cleanup--Thu Sep 27 19:51:44 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * PipeReader: added a configurable alias--Thu Sep 27 19:37:11 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Monitors: updated to recent API changes - code formatting--Thu Sep 27 19:36:51 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * HelloWorld: updated to recent API changes--Thu Sep 27 19:35:57 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Date: updated to recent API changes--Thu Sep 27 19:35:29 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added a plugin to read named pipes (such as an XMonad logger)--Thu Sep 27 19:34:49 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Confg.hs: added PipeReader to the default configuration--Thu Sep 27 19:31:51 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Setup: waiting for Cabal-1.2 :)--Thu Sep 27 19:31:09 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Main.hs: updated to reflect the API change - code formatting and cleanup--Thu Sep 27 19:29:51 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Xmobas.hs: updated to reflect the API change - code formatting and cleanup--Thu Sep 27 19:29:24 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added Show instance to Runnable--Thu Sep 27 19:28:48 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Plugins: added tenthSeconds to the exported API--Thu Sep 27 19:27:51 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Updated Runnable to the new API - added Show instance--Thu Sep 27 19:25:06 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * API change in the Exec class-  Changed run :: a ->  IO String to-  start :: a -> (String -> IO ()) -> IO ()-  Suggested by Spencer Janssen.--Sat Sep 15 18:38:46 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * code formatting--Sat Sep 15 18:36:33 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added Date to default config--Sat Sep 15 16:01:43 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added a date plugin--Fri Sep 14 18:30:19 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added creadits to Jens--Wed Sep 12 09:09:49 CEST 2007  Jens Petersen <petersen@haskell.org>-  * Parse the temperature separately in Celcius and Fahrenheit.-  Parse the pressure in hPa.-  Generalize showWithColors to (Num a, Ord a) so it works for both Int's and Float's.-  Use an Int for temperature, pressure, and relative humidity.--Wed Sep 12 08:58:03 CEST 2007  Jens Petersen <petersen@haskell.org>-  * only use 1 decimal place for showing floating numbers--Wed Sep 12 08:54:20 CEST 2007  Jens Petersen <petersen@haskell.org>-  * include BAT0 acpi battery status too--Mon Sep 10 00:20:51 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: fixed some types--Mon Aug 27 12:59:02 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Plugins.Swap: check for SwapFree and SwapTotal-  In some system SwapFree and SwapTotal are in different position, so we-  need to check for the string.-  Reported by Stan Behrens--Tue Jul 24 22:35:54 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Monitors.Common: parseString must use ByteStrings--Tue Jul 24 19:30:47 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * loadQueryFont must be protected by catch-  Expecially now that fonts can be easily choose with a command line options.--Tue Jul 24 19:06:43 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Batt: we check if the file exists instead of catching an exception--Tue Jul 24 16:22:05 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Monitors.Commons: more code cleanup--Tue Jul 24 15:32:44 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Config.hs: removed %memory%" from default template--Tue Jul 24 15:16:58 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: some more editing--Tue Jul 24 14:51:20 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * if an invalid color name or value is given the black pixel will used instead--Tue Jul 24 14:01:31 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: added an example of command line options usage--Tue Jul 24 14:01:06 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * better error handling in Main.hs--Tue Jul 24 13:40:47 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Batt: better error handling--Tue Jul 24 13:10:19 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * ./Plugins/Monitors.hs: corrected module information--Tue Jul 24 13:05:41 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: added download information--Tue Jul 24 12:22:26 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * changed home page to http://gorgias.mine.nu/xmobar/--Tue Jul 24 12:13:22 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: updated to latest changes--Tue Jul 24 12:00:29 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * The help output must be visible in a terminal 80 characters wide--Tue Jul 24 11:44:35 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * code and output cleanup--Tue Jul 24 11:44:02 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Batt.hs: refactor to reduce resource usage--Tue Jul 24 11:27:01 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Monitors.Common: parseString will not produce exceptions anymore-  An empty string will be returned instead.--Tue Jul 24 11:25:51 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Main.hs: removed exception-  Check for default configuration file existence instead.--Mon Jul 23 22:08:52 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added support for command line options-  Configuration options will override configuration files, or default-  configuration.--Mon Jul 23 13:49:36 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * the normal color is set when normal > low--Thu Jul 19 12:15:05 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Moved battery line parsing into the Maybe monad.--Thu Jul 19 03:55:30 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Safer parsing without parsec in battery monitor--Mon Jul 16 02:34:48 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Fix parsing and processing data in Batt monitor.-  Sometimes the monitor would crash due to bad index given to (!!). Now it-  should be safe, as parsing is done differently.--Fri Jul 20 13:39:17 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * X code cleanup--Thu Jul 19 07:40:59 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * oops, I forgot to add Monitors.hs (it's not possible to build xmobar without it!)--Thu Jul 12 03:36:26 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Get rid of floats in scientific notation.-  Use 'showDigits n' instead of 'show . takeDigits n'. As this example shows-  explicit precision specifications would be appreciated ;)--Thu Jul 12 03:09:11 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Allow reverse "high" and "low" thresholds--Wed Jul 18 17:12:11 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Monitors are now a Plugin that can be removed from Config.hs--Wed Jul 18 00:51:31 CEST 2007  Spencer Janssen <sjanssen@cse.unl.edu>-  * Use asynchronous exceptions to obviate the need for forkOS and threaded--Tue Jul 17 23:11:38 CEST 2007  Spencer Janssen <sjanssen@cse.unl.edu>-  * execCommands is a mapM--Tue Jul 17 19:13:07 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * threads are now started with forkOS-  This is required by the fact that calling nextEvent will block all other-  running threads. So we need forkOS, which requires the -threaded ghc flag --Tue Jul 17 18:12:00 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal: corrected x11-extras version number--Tue Jul 17 18:07:56 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * XEvents code cleanup--Tue Jul 17 15:14:11 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * XExposeEvent handling: that requires X11-extras-  XExposeEvent is now properly (sort of) handled, with an hackish approch:-  before nextEvent, that will block Xmobar since an Expose event is captured,-  we create a background thread that will send an Expose event after the-  configured refresh interval. So, either a real of a fake Expose event will-  reach our window within the configured interval. Quite cool, after all.-  --Tue Jul 17 11:14:38 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * changed runXmobar to runXbar--Sat Jul 14 12:39:13 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README and Cabal edits-  Added some more credits, corrected typos, updated darcs version to 0.7,-  changed name to Xmonbar and removed references to XMonad. Xmobar is now just-  a minimalistic text based status bar for any kind of WM (the XMonad-  community adopted the more advanced and stable dzen, after all ;-)--Fri Jul 13 14:37:07 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * haddock tuning--Fri Jul 13 13:13:02 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal: added Plugins to the list of modules--Fri Jul 13 13:12:29 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Plugins.hs: some haddock corrections--Fri Jul 13 13:11:48 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README: updated to the latest changes--Fri Jul 13 12:13:29 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Config.hs: more code cleanup--Fri Jul 13 11:36:47 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Runnable: cleanup and some comments--Fri Jul 13 11:36:13 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added Plugins.hs for exporting the needed plugin API--Fri Jul 13 11:35:16 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Plugins now import Plugins.hs--Fri Jul 13 11:34:02 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Commands.hs: more code cleanup--Thu Jul 12 23:56:15 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * removed the Show instance requirement for plugins--Thu Jul 12 20:05:16 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal updates--Thu Jul 12 20:04:34 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added a plugin example with the needed runtime configuration file--Thu Jul 12 20:04:05 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * credits to Claus Reinke and removed debugging code--Thu Jul 12 19:50:34 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * use of existential types for plugin support-  This patch, which *changes the configuration format*, adds easy plugin support-  by using an existential type for storing the list of commands to be-  executed. Adding a plugin is just a matter of writing the appropriate-  instance of the Exec class, after importing Commands.hs.-  I must thank Claus Reinke for the help in understanding the mysteries of-  reading existential types. The Read instance of Runnable must be credited to-  him. See here:-  http://www.haskell.org/pipermail/haskell-cafe/2007-July/028227.html--Wed Jul 11 20:31:31 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Commands.hs: monitors take only one action now--Wed Jul 11 20:22:21 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Weather.hs: code clean up--Wed Jul 11 20:06:30 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * config-sample: eyes candy--Wed Jul 11 20:04:37 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * more unused stuff removed--Wed Jul 11 18:54:26 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated README to latest changes--Wed Jul 11 18:52:47 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Net.hs: removed parserc. Now using list function to parse-  Profiling shows that Net.hs and getNumbers specifically takes a huge ammount-  of resources. Hope to reduce them with this patch.--Wed Jul 11 18:50:35 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * removed from monitors code not used anymore--Wed Jul 11 18:48:19 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Net.hs: removed old code--Wed Jul 11 17:02:21 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * some colors please!-  Krzysztof says that we cannot set default colors without embedding a-  Turing-complete language in the templates, so that we can take account of-  different unit of measurement. May I set some colors in the configuration-  example??--Wed Jul 11 17:02:01 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * gettin' rid of Krzysztof's object-oriented attitude...;-)--Tue Jul 10 16:15:50 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Formatting usedratio in Monitors.Swap--Tue Jul 10 16:14:06 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Fix takeDigits so it doesn't use read.--Tue Jul 10 16:13:29 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Typos in Monitors.Common--Tue Jul 10 16:08:45 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Clean up default options for monitors.-   * Moved default configuration to Monitors.Common-   * Colors are optional and are off by default--Thu Jul  5 18:03:20 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Read default configuration from ~/.xmobarrc-  I am not sure if handling of other exceptions is acceptable, the assumption is-  that failure to read ~/.xmobarrc because of other errors than parsing should-  not blow up the whole program. Otherwise explicit test for file existence-  would be required etc.--Mon Jul  9 02:29:47 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * new working version and named colors in config-sample--Mon Jul  9 02:12:03 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * comments only--Mon Jul  9 01:43:04 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * fixes a bug in the copyArea function--Mon Jul  9 01:23:38 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added a short-hand for fromintegral (much used here)--Mon Jul  9 00:48:54 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * This should fix the flickering problem on window's updates--Sun Jul  8 20:37:42 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * typo--Sun Jul  8 19:13:30 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * editing to README--Sun Jul  8 19:13:09 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added info to Commands.hs--Sun Jul  8 12:28:41 CEST 2007  Andrea Rossato <andrea.rossatoo@unibz.it>-  tagged 0.5--Sun Jul  8 12:24:59 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated to version 0.5--Sun Jul  8 12:24:18 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated (I actually wrote some) documentation about configuring XMobar--Sun Jul  8 12:17:02 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * hope this fixes the "flickering text" problem reported by Krzysztof--Sun Jul  8 12:16:28 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * some monitors are now run internally--Sun Jul  8 12:14:30 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated configurations to reflect code changes--Sun Jul  8 12:12:08 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * the output template is now parsed with the help of a finite map-  This way we can quickly implement program name aliasing.--Sun Jul  8 12:10:33 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * monitors are now run internally--Sun Jul  8 12:03:20 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * better error handling when parsing weather information--Sun Jul  8 12:01:48 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * better error handling when parsing weather information--Sun Jul  8 12:01:20 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added runM to run monitors internally--Sun Jul  8 11:55:21 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added Commands-  Command is the data type for configuring command execution in XMobar. The-  idea came in a discussion with Spencer Janssen. At first XMobar was intended-  to be used only to display the output of external commands, but it came-  clear that the main performance bottle neck was running external programs.-  Now, some monitors are run internally, even if in separated threads. --Fri Jul  6 03:01:24 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Add support for named colors.-  If bad color name is specified then exception is thrown by Xlib.-  This should be probably handled in a more elegant way.--Fri Jul  6 04:48:14 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Fix centered text align.--Thu Jul  5 22:47:21 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Swap: usedratio reported free ratio--Thu Jul  5 17:28:15 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Fix few config name typos--Thu Jul  5 17:04:07 CEST 2007  Krzysztof Kosciuszkiewicz <k.kosciuszkiewicz@gmail.com>-  * Add dependency on filepath--Thu Jul  5 15:28:14 CEST 2007  Andrea Rossato <andrea.rossatoo@unibz.it>-  tagged 0.4--Thu Jul  5 15:24:27 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated sample configuration--Thu Jul  5 15:22:21 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated to version 0.4 and added new monitors--Thu Jul  5 15:21:45 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated to use the new Common.hs--Thu Jul  5 15:21:15 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated to use the new Common.hs--Thu Jul  5 15:20:22 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added a swap monitor--Thu Jul  5 15:19:49 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated to use the new Common.hs and split the swap part in a new monitor--Thu Jul  5 15:19:15 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated Cpu.hs to work with the new Common.hs--Thu Jul  5 15:18:35 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added a small library for writing monitors--Thu Jul  5 15:17:49 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added a battery monitor--Thu Jul  5 15:16:11 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * minor--Thu Jun 28 00:13:46 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Cpu.hs more code clean up--Wed Jun 27 23:49:57 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Cpu.hs now requires -threaded--Wed Jun 27 23:49:13 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * typos--Wed Jun 27 23:45:31 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Cpu.hs: removed Parsec and switched to ByteString--Wed Jun 27 11:44:46 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * possibility to delay a thread for more than (maxBound :: Int) microseconds--Wed Jun 27 00:55:38 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * version 0.3.1--Wed Jun 27 00:52:34 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * default is Glasgow ;-)--Wed Jun 27 00:51:56 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * fixed an out of bount bug that could cause a flood to http://weather.noaa.gov/--Tue Jun 26 20:45:42 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * removed debug output--Tue Jun 26 20:07:14 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added cabal and config reference to the weather monitor--Tue Jun 26 20:06:27 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * corrected the threadDelay arguments--Tue Jun 26 20:05:37 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added a weather monitor to retrieve weather information from http://weather.noaa.gov/--Tue Jun 26 13:39:48 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * splitted files--Tue Jun 26 13:01:04 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * now the Xbar monad is similar to the one of XMonad--Tue Jun 26 11:44:52 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cosmetics--Tue Jun 26 11:43:57 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * Added -threaded option for ghc--Tue Jun 26 10:06:19 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added refresh rate config option for each command to be run--Tue Jun 26 09:42:39 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * now each command is run in a separate thread and MVars are used for interprocess communication--Tue Jun 26 07:17:47 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * better error handling--Tue Jun 26 07:16:22 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * createWin will now return Xbar (Display, Window)--Mon Jun 25 18:44:19 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated the README--Mon Jun 25 14:21:59 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * * fixes some memory leak problems-  After calling loadQueryFont the FontStruct returned must be freed after using it.-  runInteractiveProcess leaks memory. runInteractiveCommand does not.--Fri Jun 22 15:07:09 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * README and description--Fri Jun 22 14:53:03 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * updated example config--Fri Jun 22 14:52:29 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * cabal updates--Fri Jun 22 14:51:52 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added some monitors with output formatted for xmobar--Fri Jun 22 14:51:33 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * comments--Fri Jun 22 12:51:28 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * removed monitor.hs (useless now)--Fri Jun 22 12:48:52 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * big update: this is a status bar now-  Added a lot of features.--Tue Jun 19 19:40:06 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added a refresh rate configuration option--Tue Jun 19 12:52:35 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * haddock and other minor editing--Tue Jun 19 12:51:50 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added cabal support--Tue Jun 19 12:51:32 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added license (bsd3)--Tue Jun 19 11:12:16 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added a sample config file--Tue Jun 19 11:00:18 CEST 2007  Andrea Rossato <andrea.rossato@ing.unitn.it>-  * added license and some info--Tue Jun 19 10:07:45 CEST 2007  Andrea Rossato <andrea.rossatoo@unibz.it>-  * some changes to monitor.hs to test xmobar--Tue Jun 19 10:06:25 CEST 2007  Andrea Rossato <andrea.rossatoo@unibz.it>-  * added a monitoring script found here http://blog.csdn.net/danranx/archive/2007/06/10/1646608.aspx--Tue Jun 19 10:03:55 CEST 2007  Andrea Rossato <andrea.rossatoo@unibz.it>-  * init
Commands.hs view
@@ -23,11 +23,14 @@     , tenthSeconds     ) where +import Prelude hiding (catch) import Control.Concurrent+import Control.Exception import Data.Char import System.Process import System.Exit-import System.IO (hClose, hGetLine)+import System.IO (hClose)+import XUtil  class Show e => Exec e where     alias :: e -> String@@ -64,7 +67,7 @@                         hClose e                 case exit of                   ExitSuccess -> do-                            str <- hGetLine o+                            str <- catch (hGetLineSafe o) (\_ -> return "")                             closeHandles                             cb str                   _ -> do closeHandles
Config.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE CPP, TypeOperators #-}+ ----------------------------------------------------------------------------- -- | -- Module      :  Xmobar.Config@@ -26,8 +28,13 @@ import Plugins.Monitors import Plugins.Date import Plugins.PipeReader+import Plugins.CommandReader import Plugins.StdinReader +#ifdef INOTIFY+import Plugins.Mail+#endif+ -- $config -- Configuration data type and default configuration @@ -37,7 +44,9 @@            , bgColor        :: String     -- ^ Backgroud color            , fgColor        :: String     -- ^ Default font color            , position       :: XPosition  -- ^ Top Bottom or Static-           , commands       :: [Runnable] -- ^ For setting the command, the command argujments+           , lowerOnStart   :: Bool       -- ^ Lower to the bottom of the+                                          --   window stack on initialization+           , commands       :: [Runnable] -- ^ For setting the command, the command arguments                                           --   and refresh rate for the programs to run (optional)            , sepChar        :: String     -- ^ The character to be used for indicating                                           --   commands in the output template (default '%')@@ -50,6 +59,7 @@                | Bottom                | BottomW Align Int                | Static {xpos, ypos, width, height :: Int}+               | OnScreen Int XPosition                  deriving ( Read, Eq )  data Align = L | R | C deriving ( Read, Eq )@@ -61,6 +71,7 @@            , bgColor  = "#000000"            , fgColor  = "#BFBFBF"            , position = Top+           , lowerOnStart = True            , commands = [ Run $ Date "%a %b %_d %Y * %H:%M:%S" "theDate" 10                         , Run StdinReader]            , sepChar  = "%"@@ -68,11 +79,20 @@            , template = "%StdinReader% }{ <fc=#00FF00>%uname%</fc> * <fc=#FF0000>%theDate%</fc>"            } ++-- | An alias for tuple types that is more convenient for long lists.+type a :*: b = (a, b)+infixr :*:+ -- | This is the list of types that can be hidden inside -- 'Runnable.Runnable', the existential type that stores all commands -- to be executed by Xmobar. It is used by 'Runnable.readRunnable' in -- the 'Runnable.Runnable' Read instance. To install a plugin just add--- the plugin's type to the list of types appearing in this function's type--- signature.-runnableTypes :: (Command,(Monitors,(Date,(PipeReader,(StdinReader,())))))+-- the plugin's type to the list of types (separated by ':*:') appearing in+-- this function's type signature.+runnableTypes :: Command :*: Monitors :*: Date :*: PipeReader :*: CommandReader :*: StdinReader :*:+#ifdef INOTIFY+                 Mail :*:+#endif+                 () runnableTypes = undefined
+ Plugins/CommandReader.hs view
@@ -0,0 +1,39 @@+-----------------------------------------------------------------------------+-- |+-- Module      :  Plugins.CommandReader+-- Copyright   :  (c) John Goerzen+-- License     :  BSD-style (see LICENSE)+--+-- Maintainer  :  Andrea Rossato <andrea.rossato@unibz.it>+-- Stability   :  unstable+-- Portability :  unportable+--+-- A plugin for reading from external commands+-- note: stderr is lost here+--+-----------------------------------------------------------------------------++module Plugins.CommandReader where++import System.IO+import Plugins+import System.Process(runInteractiveCommand, getProcessExitCode)++data CommandReader = CommandReader String String+    deriving (Read, Show)++instance Exec CommandReader where+    alias (CommandReader _ a)    = a+    start (CommandReader p _) cb = do+        (hstdin, hstdout, hstderr, ph) <- runInteractiveCommand p+        hClose hstdin+        hClose hstderr+        hSetBinaryMode hstdout False+        hSetBuffering hstdout LineBuffering+        forever ph (hGetLineSafe hstdout >>= cb)+        where forever ph a = +                  do a+                     ec <- getProcessExitCode ph+                     case ec of+                       Nothing -> forever ph a+                       Just _ -> cb "EXITED"
+ Plugins/Mail.hs view
@@ -0,0 +1,79 @@+-----------------------------------------------------------------------------+-- |+-- Module      :  Plugins.Mail+-- Copyright   :  (c) Spencer Janssen+-- License     :  BSD-style (see LICENSE)+--+-- Maintainer  :  Spencer Janssen <sjanssen@cse.unl.edu>+-- Stability   :  unstable+-- Portability :  unportable+--+-- A plugin for checking mail.+--+-----------------------------------------------------------------------------++module Plugins.Mail where++import Prelude hiding (catch)+import System.IO+import Plugins++import Control.Monad+import Control.Concurrent.STM++import System.Directory+import System.FilePath+import System.INotify++import Data.List (isPrefixOf)+import Data.Set (Set)+import qualified Data.Set as S++-- | A list of mail box names and paths to maildirs.+data Mail = Mail [(String, FilePath)]+    deriving (Read, Show)++instance Exec Mail where+    start (Mail ms) cb = do+        vs <- mapM (const $ newTVarIO S.empty) ms++        let ts = map fst ms+            ds = map ((</> "new") . snd) ms+            ev = [Move, MoveIn, MoveOut, Create, Delete]++        i <- initINotify+        zipWithM_ (\d v -> addWatch i ev d (handle v)) ds vs++        forM (zip ds vs) $ \(d, v) -> do+            s <- fmap (S.fromList . filter (not . isPrefixOf "."))+                    $ getDirectoryContents d+            atomically $ modifyTVar v (S.union s)++        changeLoop (mapM (fmap S.size . readTVar) vs) $ \ns -> do+            cb . unwords $ [m ++ ":" ++  show n+                                    | (m, n) <- zip ts ns+                                    , n /= 0 ]++modifyTVar :: TVar a -> (a -> a) -> STM ()+modifyTVar v f = readTVar v >>= writeTVar v . f++handle :: TVar (Set String) -> Event -> IO ()+handle v e = atomically $ modifyTVar v $ case e of+    Created  {} -> create+    MovedIn  {} -> create+    Deleted  {} -> delete+    MovedOut {} -> delete+    _           -> id+ where+    delete = S.delete (filePath e)+    create = S.insert (filePath e)++changeLoop :: Eq a => STM a -> (a -> IO ()) -> IO ()+changeLoop s f = atomically s >>= go+ where+    go old = do+        f old+        go =<< atomically (do+            new <- s+            guard (new /= old)+            return new)
Plugins/Monitors/Common.hs view
@@ -55,6 +55,7 @@ import Numeric import Text.ParserCombinators.Parsec import System.Console.GetOpt+import Control.Exception (handle)  import Plugins -- $monitor@@ -148,7 +149,7 @@     where go = do             c <- conf             let ac = doArgs args action-            s <- runReaderT ac c+            s <- handle (const $ return "error") $ runReaderT ac c             cb s             tenthSeconds r             go
Plugins/Monitors/CoreCommon.hs view
@@ -16,6 +16,7 @@  import Plugins.Monitors.Common import System.Posix.Files (fileExist)+import System.IO (withFile, IOMode(ReadMode), hGetLine) import System.Directory import Data.Char (isDigit) import Data.List (isPrefixOf)@@ -26,7 +27,7 @@ -- is performed. checkedDataRetrieval :: String -> String -> String -> String -> Double -> Monitor String checkedDataRetrieval failureMessage dir file pattern divisor = do-    exists <- io $ fileExist $ foldl (++) dir ["/", pattern, "0/", file]+    exists <- io $ fileExist $ concat [dir, "/", pattern, "0/", file]     case exists of          False  -> return failureMessage          True   -> retrieveData dir file pattern divisor@@ -38,15 +39,16 @@ retrieveData :: String -> String -> String -> Double -> Monitor String retrieveData dir file pattern divisor = do     count <- io $ dirCount dir pattern-    contents <- io $ mapM readFile $ files count+    contents <- io $ mapM getGuts $ files count     values <- mapM (showWithColors show) $ map conversion contents     parseTemplate values     where+        getGuts f = withFile f ReadMode hGetLine         dirCount path str = getDirectoryContents path                             >>= return . length                                        . filter (\s -> str `isPrefixOf` s                                                        && isDigit (last s))-        files count = [ foldl (++) dir [ "/", pattern, show i, "/", file ]-                      | i <- [0 .. count - 1] ]-        conversion = flip (/) divisor . (read :: String -> Double)+        files count = map (\i -> concat [dir, "/", pattern, show i, "/", file])+                          [0 .. count - 1]+        conversion = (/divisor) . (read :: String -> Double) 
Plugins/Monitors/CpuFreq.hs view
@@ -25,7 +25,7 @@ cpuFreqConfig = mkMConfig        "Freq: <cpu0>GHz" -- template        (zipWith (++) (repeat "cpu") (map show [0 :: Int ..])) -- available-                                                               -- replacements+                                                              -- replacements  -- | -- Function retrieves monitor string holding the cpu frequency (or frequencies)
README view
@@ -29,11 +29,11 @@  The latest binary can be found here: -        http://code.haskell.org/~arossato/xmobar/xmobar-0.9.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.9.png+<http://code.haskell.org/~arossato/xmobar/xmobar-0.9.png>  Version 0.9 requires Cabal-1.2.x, but should work both with ghc-6.6.1 and ghc-6.8.1.@@ -228,7 +228,7 @@ 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`,-`CpuFreq`, `CoreTemp`, `Date`, `StdinReader` and `PipeReader`.+`CpuFreq`, `CoreTemp`, `Date`, `StdinReader`, `CommandReader`, and `PipeReader`.  To remove them see below Installing/Removing a Plugin @@ -298,7 +298,7 @@ `BatteryP Dirs Args RefreshRate`  - aliases to `battery`-- Files: list of directories in /proc/acpi/battery/ direcotry where to+- Files: list of directories in /proc/acpi/battery/ directory where to   look for the `state` and `info` files. Example:   `["BAT0","BAT1","BAT2"]`. Only the first 3 directories will be   searched.@@ -338,6 +338,13 @@ - This monitor requires coretemp module to be loaded in kernel - Example: `Run CoreTemp ["-t","Temp:\<core0\>|\<core1\>C","-L","40","-H","60","-l","lightblue","-n","gray90","-h","red"] 50` +`Mail Args`++- aliases to `Mail`+- Args: list of maildirs in form [("name1","path1"),("name2","path2")]+- This plugin requires INOTIFY support in Linux kernel and hinotify library.+  To activate, pass --flags="with_inotify" to "runhaskell Setup configure".+ ### Monitor Plugins Commands Arguments  These are the arguments that can be used for internal commands in the@@ -391,6 +398,8 @@  `StdinReader` +`CommandReader "/path/to/program" Alias`+ `PipeReader "/path/to/pipe" Alias`  Plugins@@ -470,7 +479,7 @@    signature of `runnableTypes` in `Config.hs`. For instance, for the    HelloWorld plugin, change `runnableTypes` into: -        runnableTypes :: (Command,(Monitors,(HelloWorld,())))+        runnableTypes :: Command :*: Monitors :*: HelloWorld :*: ()         runnableTypes = undefined  3. Rebuild and reinstall [xmobar]. Now test it with:@@ -499,12 +508,12 @@  2. in `Config.hs` change -         runnableTypes :: (Command,(Monitors,()))+         runnableTypes :: Command :*: Monitors :*: ()          runnableTypes = undefined      to -         runnableTypes :: (Command,())+         runnableTypes :: Command :*: ()          runnableTypes = undefined  3. rebuild [xmobar].
Runnable.hs view
@@ -1,4 +1,4 @@-{-# OPTIONS -fglasgow-exts #-}+{-# LANGUAGE ExistentialQuantification, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances #-} ----------------------------------------------------------------------------- -- | -- Module      :  Xmobar.Runnable
Runnable.hs-boot view
@@ -1,4 +1,4 @@-{-# OPTIONS -fglasgow-exts #-}+{-# LANGUAGE ExistentialQuantification  #-} module Runnable where import Commands 
Xmobar.hs view
@@ -1,4 +1,3 @@-{-# OPTIONS -fglasgow-exts #-} ----------------------------------------------------------------------------- -- | -- Module      :  Xmobar@@ -128,20 +127,21 @@ createWin :: Display -> XFont -> Config -> IO (Rectangle,Window) createWin d fs c = do   let dflt = defaultScreen d-  sr:_    <- getScreenInfo d+  srs     <- getScreenInfo d   rootw   <- rootWindow d dflt   (as,ds) <- textExtents fs "0"-  let ht       = as + ds + 4-      (r,o) = setPosition (position c) sr (fi ht)+  let ht    = as + ds + 4+      (r,o) = setPosition (position c) srs (fi ht)   win <- newWindow  d (defaultScreenOfDisplay d) rootw r o   selectInput       d win (exposureMask .|. structureNotifyMask)-  setProperties r c d win+  setProperties r c d win srs+  when (lowerOnStart c) (lowerWindow d win)   mapWindow         d win   return (r,win) -setPosition :: XPosition -> Rectangle -> Dimension -> (Rectangle,Bool)-setPosition p (Rectangle rx ry rw rh) ht =-    case p of+setPosition :: XPosition -> [Rectangle] -> Dimension -> (Rectangle,Bool)+setPosition p rs ht =+    case p' of     Top                -> (Rectangle rx          ry      rw      h     , True)     TopW L i           -> (Rectangle rx          ry     (nw i)   h     , True)     TopW R i           -> (Rectangle (right  i)  ry     (nw i)   h     , True)@@ -151,7 +151,11 @@     BottomW R i        -> (Rectangle (right  i)  ny     (nw i)   h     , True)     BottomW C i        -> (Rectangle (center i)  ny     (nw i)   h     , True)     Static cx cy cw ch -> (Rectangle (fi cx   ) (fi cy) (fi cw) (fi ch), True)+    OnScreen _ _       -> error "Nested OnScreen positions are not allowed"     where+      (Rectangle rx ry rw rh, p') = case p of+                                        OnScreen i x -> (rs !! i, x)+                                        _            -> (head rs, p)       ny       = ry + fi (rh - ht)       center i = rx + (fi $ div (remwid i) 2)       right  i = rx + (fi $ remwid i)@@ -160,28 +164,49 @@       nw       = fi . pw . fi       h        = fi ht -setProperties :: Rectangle -> Config -> Display -> Window -> IO ()-setProperties r c d w = do+setProperties :: Rectangle -> Config -> Display -> Window -> [Rectangle] -> IO ()+setProperties r c d w srs = do   a1 <- internAtom d "_NET_WM_STRUT_PARTIAL"    False   c1 <- internAtom d "CARDINAL"                 False   a2 <- internAtom d "_NET_WM_WINDOW_TYPE"      False   c2 <- internAtom d "ATOM"                     False   v  <- internAtom d "_NET_WM_WINDOW_TYPE_DOCK" False-  changeProperty32 d w a1 c1 propModeReplace $ map fi $ getStrutValues r c+  changeProperty32 d w a1 c1 propModeReplace $ map fi $+    getStrutValues r (position c) (getRootWindowHeight srs)   changeProperty32 d w a2 c2 propModeReplace [fromIntegral v] -getStrutValues :: Rectangle -> Config -> [Int]-getStrutValues (Rectangle x _ w h) c =-    case position c of-    Top         -> [0, 0, nh,  0, 0, 0, 0, 0, nx, nw,  0,  0]-    TopW    _ _ -> [0, 0, nh,  0, 0, 0, 0, 0, nx, nw,  0,  0]-    Bottom      -> [0, 0,  0, nh, 0, 0, 0, 0,  0,  0, nx, nw]-    BottomW _ _ -> [0, 0,  0, nh, 0, 0, 0, 0,  0,  0, nx, nw]-    _           -> [0, 0,  0,  0, 0, 0, 0, 0,  0,  0,  0,  0]-    where nh = fi h+getRootWindowHeight :: [Rectangle] -> Int+getRootWindowHeight srs = foldr1 max (map getMaxScreenYCoord srs)+  where+    getMaxScreenYCoord sr = fi (rect_y sr) + fi (rect_height sr)++getStrutValues :: Rectangle -> XPosition -> Int -> [Int]+getStrutValues r@(Rectangle x y w h) p rwh =+    case p of+    OnScreen _ p'   -> getStrutValues r p' rwh+    Top             -> [0, 0, st,  0, 0, 0, 0, 0, nx, nw,  0,  0]+    TopW    _ _     -> [0, 0, st,  0, 0, 0, 0, 0, nx, nw,  0,  0]+    Bottom          -> [0, 0,  0, sb, 0, 0, 0, 0,  0,  0, nx, nw]+    BottomW _ _     -> [0, 0,  0, sb, 0, 0, 0, 0,  0,  0, nx, nw]+    Static _ _ _ _  -> getStaticStrutValues p rwh+    where st = fi y + fi h+          sb = rwh - fi y           nx = fi x           nw = fi (x + fi w - 1) +-- get some reaonable strut values for static placement. +getStaticStrutValues :: XPosition -> Int -> [Int]+getStaticStrutValues (Static cx cy cw ch) rwh+    -- if the yPos is in the top half of the screen, then assume a Top+    -- placement, otherwise, it's a Bottom placement+    | cy < (rwh `div` 2) = [0, 0, st,  0, 0, 0, 0, 0, xs, xe,  0,  0]+    | otherwise          = [0, 0,  0, sb, 0, 0, 0, 0,  0,  0, xs, xe]+    where st = cy + ch +          sb = rwh - cy+          xs = cx -- a simple calculation for horizontal (x) placement+          xe = xs + cw+getStaticStrutValues _ _ = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]+        updateWin :: TVar String -> X () updateWin v = do   xc <- ask
xmobar.cabal view
@@ -1,5 +1,5 @@ name:               xmobar-version:            0.9+version:            0.9.1 homepage:           http://code.haskell.org/~arossato/xmobar synopsis:           A Minimalistic Text Based Status Bar description: 	    Xmobar is a minimalistic text based status bar.@@ -24,13 +24,20 @@ flag with_utf8   description: With UTF-8 support. +flag with_inotify+  description: inotify support (modern Linux only).  Required for the Mail plugin.+ executable xmobar     main-is:            Main.hs     other-Modules:      Xmobar, Config, Parsers, Commands, XUtil, Runnable, Plugins     ghc-options:        -funbox-strict-fields -Wall     ghc-prof-options:   -prof -auto-all++    if impl (ghc == 6.10.1) && arch (x86_64)+            ghc-options:    -O0+     if flag(small_base)-       build-depends:   base >= 3, containers, process, old-time, old-locale, bytestring, directory+       build-depends:   base >= 3, base < 4, containers, process, old-time, old-locale, bytestring, directory      else        build-depends:   base < 3@@ -42,5 +49,9 @@     if flag(with_utf8)         build-depends: utf8-string         cpp-options: -DUTF8++    if flag(with_inotify)+        build-depends: hinotify+        cpp-options: -DINOTIFY      build-depends:      X11>=1.3.0, mtl, unix, parsec, filepath, stm
xmobar.config-sample view
@@ -2,6 +2,7 @@        , bgColor = "black"        , fgColor = "grey"        , position = Top+       , lowerOnStart = True        , commands = [ Run Weather "EGPF" ["-t","<station>: <tempC>C","-L","18","-H","25","--normal","green","--high","red","--low","lightblue"] 36000                     , Run Network "eth0" ["-L","0","-H","32","--normal","green","--high","red"] 10                     , Run Network "eth1" ["-L","0","-H","32","--normal","green","--high","red"] 10