Xmonad/Notable changes since 0.7
This page is for keeping a record of significant changes in darcs xmonad and xmonad-contrib since the 0.7 release.
The idea is to put here a list of things which a user upgrading from 0.7 to 0.8 might like to know, so that they are sure to be included in the 0.8 release notes.
Changes to the xmonad core
- defaultGaps has been removed, see XMonad.Hooks.ManageDocks.avoidStruts, which is now the preferred method for setting gaps. Those that still want or need manual gap-setting ability (if you're not sure, you probably don't) can use the new contrib module XMonad.Layout.Gaps.
Changes in xmonad-contrib
- New contrib modules:
- XMonad.Layout.MultiToggle.Instances defines some common Transformer instances for convenience in working with XMonad.Layout.MultiToggle
- XMonad.Layout.Gaps allows manual configuration of gaps, along with keybindings for toggling and adjusting their size. Useful in situations where gaps are desired but ManageDocks is not appropriate.
- XMonad.Actions.WindowNavigation is a rewrite of XMonad.Layout.WindowNavigation that lets you navigate across screens. It has some bugs.
- XMonad.Config.Gnome, XMonad.Config.KDE, and XMonad.Config.Xfce greatly simplify initial basic desktop integration, including ewmh's for taskbars and panels, gap toggling, and sensible desktop default key rebindings.
- XMonad.Config.PlainConfig allows those without a Haskell compiler or the desire to learn Haskell syntax to do common configurations in text. This has been split off into a separate project called xmonad-light using ~/.xmonad/xmonad.conf rather than xmonad.hs. See shepheb's xmonad-light, your package manager, or
- Changes to contrib APIs
- ManageDocks now allows individual toggling of multiple gaps.
- PerWorkspace has additional functions which allow applying layout modifiers per-workspace (rather than simply selecting layouts per-workspace).
- Search's "promptSearch" and "selectSearch" functions have shorter invocations now; the browser argument is unneeded as XMonad will instead default to whatever $BROWSER is, or to using Firefox.
- Search's simpleEngine has changed. It is now named 'searchEngine'. It takes two arguments, a site name (which will be used as a prompt), and the URL string. If you want to replicate the old simpleEngine, it'd look like 'newEngine = searchEngine "" "http://..."'.
- WindowGo now has two convenience functions for going to your text editor (based on $EDITOR) and your browser ($BROWSER).
- HintedTile now requires an alignment argument. Add 'TopLeft' as the second to last argument (the argument right before Tall or Wide) to match the old behavior.
- UrgencyHook lets you specify when you want the hook to trigger (default is the same: window not visible)