Difference between revisions of "Xmonad/Notable changes since 0.8"

From HaskellWiki
Jump to: navigation, search
m (Changes to the xmonad core)
m (Updated modules: EwmhDesktops event hook change)
Line 38: Line 38:
   
 
===Updated modules===
 
===Updated modules===
Modules formerly using Hooks.EventHook now use Event from core.
+
Modules formerly using Hooks.EventHook now use Event from core. '''This means ewmhDesktops users must change configuration by adding a handleEventHook to XConfig.'''
   
 
====Actions====
 
====Actions====
Line 57: Line 57:
   
 
====Hooks====
 
====Hooks====
  +
* Hooks.EwmhDesktops requires new handleEventHook = ewmhDesktopsEventHook, added to defaultConfig.
  +
 
* Hooks.DynamicLog module has a new 'statusBar' function to simplify status bar configuration. Similar 'dzen' and 'xmobar' quick bar functions have changed type to allow better compositionality.The 'dynamicLogDzen' and 'dynamicLogXmobar' have been removed.
 
* Hooks.DynamicLog module has a new 'statusBar' function to simplify status bar configuration. Similar 'dzen' and 'xmobar' quick bar functions have changed type to allow better compositionality.The 'dynamicLogDzen' and 'dynamicLogXmobar' have been removed.
   

Revision as of 06:56, 8 February 2009

This page is for keeping a record of significant changes in darcs xmonad and xmonad-contrib since the 0.8 release. (0.8.1 was a maintenance release, with no changes to user functionality. It simply includes ghc-6.10.1 related updates and workaround for 64-bit users building xmonad-contrib on ghc-6.10.1.)

The idea is to put here a list of things which a user upgrading from 0.8 to 0.9 might like to know, so that they are sure to be included in the 0.9 release notes.

Changes to the xmonad core

  • Spawned processes are now handled by xmonad. Using 'exec xmonad' in startup files now "does the right thing."
  • New --restart command line flag to restart a running xmonad process.
  • Focus changes across screens with mouse, even for empty workspaces.
  • XMonad now exports (.|.), no need to import Data.Bits.
  • StackSet exports focusUp', focusDown' for Stack in addition to focusUp/Down StackSet versions.
  • X is now typeable, and custom event hooks are supported in core xmonad. (See asgaroth's xmonad-eval package for powerful uses of these features via hint interpreter.)

Changes to xmonad-contrib

New contrib modules

  • Actions.GridSelect -- Graphically go to, select, do things with windows. With additional colourizers and documentation.
  • Actions.SpawnOn -- Binding actions, hook, and prompts to spawn on given or current workspace.
  • Actions.WithAll -- apply functions to all windows on a workspace.
  • Actions.CycleWindows -- useful ways to change focused or unfocused window order, including cycle recent windows, focus nth window.
  • Layout.Monitor -- Many useful functions for gkrellm, clock, widget type windows
  • Layout.FixedColumn -- Very neat variation on Tall, using window hints to decide master width, e.g. have your terminal automatically be 80 columns wide in the master.
  • Layout.GridVariants -- More customizable Grid, and very fine SplitGrid, see xm-contrib documentation (once 0.9 is released)
  • Layout.ThreeColumnsMiddle -- Master in center three column layout
  • Layout.CenteredMaster -- Somewhat like a combination of Master's mastered modifier with Magnifier, adding a master frame above tiled windows that is centered or at the top right of the screen.
  • Layout.Mosaic -- A very versatile easy to configure layout that can yield anything from Full to TwoPane to Grid by using a list of relative areas to layout panes and limiting the number of windows shown to the number of list elements.
  • Util.Paste -- For pasting strings to windows

Updated modules

Modules formerly using Hooks.EventHook now use Event from core. This means ewmhDesktops users must change configuration by adding a handleEventHook to XConfig.

Actions

  • Actions.CycleWS now includes HiddenWS type.
  • Actions.Submap now supports a default action, enabling looping to, e.g., set volume, or using an explicit 'exit submap' key.
  • Actions.Plane has a planeKeys function to automatically set up default workspace navigation.
  • Actions.Search has more searches.
  • Actions.WindowBringer now works with external programs other than dmenu, such as nafai's gtkmenu
  • Actions.CopyWindow has new runOrCopy
  • Actions.WindowGo has raiseMaster variant of runOrRaiseMaster

Hooks

  • Hooks.EwmhDesktops requires new handleEventHook = ewmhDesktopsEventHook, added to defaultConfig.
  • Hooks.DynamicLog module has a new 'statusBar' function to simplify status bar configuration. Similar 'dzen' and 'xmobar' quick bar functions have changed type to allow better compositionality.The 'dynamicLogDzen' and 'dynamicLogXmobar' have been removed.
  • Hooks.UrgencyHook now can be configured with reminders at intervals, and urgency can be cleared with a keybinding even without "visiting" the urgent window.

Layout

  • Layout.Grid has configurable aspect ratio.

etc

  • Config.Kde has optional KDE 4 specific settings.
  • XMonad.Prompt has more tab completion settings, configurable history filter, several bug fixes.
  • Util.XSelection has new functions to allow transforming the selection before acting on it.

Deleted modules

  • Config.PlainConfig is now a separate project, shepheb's xmonad-light.

Related Packages

Asgaroth's xmonad-eval uses the hint interpreter to manipulate xmonad state during runtime via normal haskell expressions ala emacs eval.

For users of >=ghc-6.10, the hlint package parses haskell source and offers suggestions on how to improve it.