xmonad-contrib-0.18.1: Community-maintained extensions for xmonad

Copyright | (c) 2020 Ivan Brennan <ivanbrennan@gmail.com>
License | BSD3-style (see LICENSE)
Maintainer | Ivan Brennan <ivanbrennan@gmail.com>
Stability | stable
Portability | unportable
Safe Haskell | None
Language | Haskell2010

XMonad.Actions.Sift

Contents

- Usage

Description

Functions for sifting windows up and down. Sifts behave identically to swaps (i.e. `swapUp` and `swapDown` from XMonad.StackSet), except in the wrapping case: rather than rotating the entire stack by one position like a swap would, a sift causes the windows at either end of the stack to trade positions.

Synopsis

- siftUp :: StackSet i l a s sd -> StackSet i l a s sd
- siftDown :: StackSet i l a s sd -> StackSet i l a s sd

# Usage

You can use this module with the following in your `xmonad.hs`:

    import XMonad.Actions.Sift

and add keybindings such as the following:

      , ((modMask .|. shiftMask, xK_j ), windows siftDown)
      , ((modMask .|. shiftMask, xK_k ), windows siftUp  )

siftUp :: StackSet i l a s sd -> StackSet i l a s sd #

siftUp, siftDown. Exchange the focused window with its neighbour in the stack ordering, wrapping if we reach the end. Unlike `swapUp` and `swapDown`, wrapping is handled by trading positions with the window at the other end of the stack.

siftDown :: StackSet i l a s sd -> StackSet i l a s sd #

siftUp, siftDown. Exchange the focused window with its neighbour in the stack ordering, wrapping if we reach the end. Unlike `swapUp` and `swapDown`, wrapping is handled by trading positions with the window at the other end of the stack.