Difference between revisions of "Xmonad/Notable changes since 0.8"
m (→Changes to the xmonad core: clarify handleEventHook) |
m (→Changes to xmonad-contrib: Re-order to make eventHook change more obvious) |
||
Line 22: | Line 22: | ||
== Changes to xmonad-contrib == | == Changes to xmonad-contrib == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Updated modules=== | ===Updated modules=== | ||
Line 74: | Line 58: | ||
* Util.XSelection has new functions to allow transforming the selection before acting on it. | * Util.XSelection has new functions to allow transforming the selection before acting on it. | ||
+ | |||
+ | ===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 [http://xmonad.org/xmonad-docs/xmonad-contrib 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 | ||
===Deleted modules=== | ===Deleted modules=== |
Revision as of 17:27, 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.
Contents
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.
defaultConfig :: XConfig
has newhandleEventHook
field supporting custom event hooks.
- X is now typeable as well.
Changes to xmonad-contrib
Updated modules
Modules formerly using Hooks.EventHook now use Event from core. Note: 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.
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
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.