[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:
http://www.eng.uwaterloo.ca/~aavogt/cgi-bin/configUpdater.shtml
Patches and suggestions either to improve XCU or applications are
welcome.
--
Adam Vogt
More information about the xmonad
mailing list