
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
participants (1)
-
Adam Vogt