xmonad-contrib-0.13: Third party extensions for xmonad

Copyright(c) Devin Mullins <me@twifkak.com>
LicenseBSD3-style (see LICENSE)
MaintainerDevin Mullins <me@twifkak.com>
Safe HaskellNone




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



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 sd Source #

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 sd Source #

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