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. ManageDocks will soon be moved into the core. 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)