xmonad-contrib-0.18.1: Community-maintained extensions for xmonad
Copyright(c) 2022 L. S. Leary
LicenseBSD3-style (see LICENSE)
Maintainer@LSLeary (on github)
Stabilityunstable
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

XMonad.Actions.MostRecentlyUsed

Description

Based on the Alt+Tab behaviour common outside of xmonad.

Synopsis

Usage

configureMRU must be applied to your config in order for mostRecentlyUsed to work.

main :: IO ()
main = xmonad . configureMRU . ... $ def
  { ...
  }

Once that's done, it can be used normally in keybinds:

, ((mod1Mask, xK_Tab), mostRecentlyUsed [xK_Alt_L, xK_Alt_R] xK_Tab)

N.B.: This example assumes that mod1Mask corresponds to alt, which is not always the case, depending on how your system is configured.

Interface

configureMRU :: forall (l :: Type -> Type). XConfig l -> XConfig l Source #

Configure xmonad to support mostRecentlyUsed.

mostRecentlyUsed Source #

Arguments

:: [KeySym]

The KeySyms corresponding to the modifier to which the action is bound.

-> KeySym

The KeySym corresponding to the key to which the action is bound.

-> X () 

An action to browse through the history of focused windows, taking another step back with each tap of the key.

withMostRecentlyUsed Source #

Arguments

:: [KeySym]

The KeySyms corresponding to the modifier to which the action is bound.

-> KeySym

The KeySym corresponding to the key to which the action is bound.

-> (Window -> Location -> X ())

The function applied to each window.

-> X () 

A version of mostRecentlyUsed that allows you to customise exactly what is done with each window you tab through (the default being to visit its previous Location and give it focus).