xmonad-contrib-0.9.1: Third party extensions for xmonad

Portabilityunportable
Stabilityunstable
MaintainerDevin Mullins <me@twifkak.com>

XMonad.Actions.SwapWorkspaces

Contents

Description

Lets you swap workspace tags, so you can keep related ones next to each other, without having to move individual windows.

Synopsis

Usage

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

 import XMonad.Actions.SwapWorkspaces

Then throw something like this in your keys definition:

 ++
 [((modm .|. 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.

swapWithCurrent :: Eq i => i -> StackSet i l a s sd -> StackSet i l a s sdSource

Swaps the currently focused workspace with the given workspace tag, via swapWorkspaces.

swapTo :: Direction1D -> X ()Source

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 sdSource

Takes two workspace tags and an existing XMonad.StackSet and returns a new one with the two corresponding workspaces' tags swapped.

data Direction1D Source

One-dimensional directions:

Constructors

Next 
Prev