xmonad-contrib-0.7: Third party extensions for xmonadContentsIndex
XMonad.Actions.SwapWorkspaces
Portabilityunportable
Stabilityunstable
MaintainerDevin Mullins <me@twifkak.com>
Contents
Usage
Description
Lets you swap workspace tags, so you can keep related ones next to each other, without having to move individual windows.
Synopsis
swapWithCurrent :: Eq i => i -> StackSet i l a s sd -> StackSet i l a s sd
swapTo :: WSDirection -> X ()
swapWorkspaces :: Eq i => i -> i -> StackSet i l a s sd -> StackSet i l a s sd
data WSDirection
= Next
| Prev
Usage

Add this import to your ~/.xmonad/xmonad.hs:

 import XMonad.Actions.SwapWorkspaces

Then throw something like this in your keys definition:

 ++
 [((modMask x .|. controlMask, k), windows $ swapWithCurrent i)
     | (i, k) <- zip workspaces [xK_1 ..]]

After installing this update, if you're on workspace 1, hitting mod-ctrl-5 will swap workspaces 1 and 5.

For detailed instructions on editing your key bindings, see XMonad.Doc.Extending#Editing_key_bindings.

swapWithCurrent :: Eq i => i -> StackSet i l a s sd -> StackSet i l a s sd
Swaps the currently focused workspace with the given workspace tag, via swapWorkspaces.
swapTo :: WSDirection -> X ()
Say swapTo Next or swapTo Prev to move your current workspace. This is an X () so can be hooked up to your keybindings directly.
swapWorkspaces :: Eq i => i -> i -> StackSet i l a s sd -> StackSet i l a s sd
Takes two workspace tags and an existing XMonad.StackSet and returns a new one with the two corresponding workspaces' tags swapped.
data WSDirection
Direction to cycle through the sort order.
Constructors
Next
Prev
Produced by Haddock version 0.8