[xmonad] ANNOUNCE: XMonadConfigUpdater 0.1

Adam Vogt vogt.adam at gmail.com
Sun Mar 28 12:36:25 EDT 2010

Hello all,

XMonadConfigUpdater updates configs according to replacement patterns
that operate on the haskell-src-exts syntax tree.

Patterns to add, remove or rearrange expressions are specified as
strings, but are applied to a haskell-src-exts AST.  Most changes since
0.9 can be satisfied by this kind of pattern.

For example, the changes in the xmobar function from 0.8 -> 0.9 are
covered for all but the most obscure applications with:

> dynamicLog08 =
>     [("xmobar xmonad","xmobar defaultConfig >>= xmonad")
>     ,("xmobar (xmonad . f)","xmobar (f defaultConfig) >>= xmonad")
>     ,("xmobar (\\x -> xmonad (f x))","xmobar (f defaultConfig) >>= xmonad")
>     ,("xmobar (\\x -> xmonad $ f x)","xmobar (f defaultConfig) >>= xmonad")
>     ]

Note that any expression `f' is matched and filled in on the RHS.

Hopefully this tool can be further improved, and could be either
integrated with, or distributed with xmonad itself. Library changes
could then be required to add rules to the collection such that some set
of the config archive remains buildable.

A number of desirable but currently inconvenient changes to contrib or
core, such as:

 * direct use of functions rather than indirection through
   UrgencyHook class
 * deal with constructors or functions that should not have been
   exported, ex. issue 312

The repository can be found at:
  darcs get http://code.haskell.org/~aavogt/XMonadConfigUpdater

Online demo:

Patches and suggestions either to improve XCU or applications are

Adam Vogt

More information about the xmonad mailing list