Copyright | (c) 2022 L. S. Leary |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | @LSLeary (on github) |
Stability | unstable |
Portability | unportable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Based on the Alt+Tab behaviour common outside of xmonad.
Synopsis
- configureMRU :: XConfig l -> XConfig l
- mostRecentlyUsed :: [KeySym] -> KeySym -> X ()
- withMostRecentlyUsed :: [KeySym] -> KeySym -> (Window -> Location -> X ()) -> X ()
- data Location = Location {
- workspace :: !WorkspaceId
- screen :: !ScreenId
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 :: XConfig l -> XConfig l Source #
Configure xmonad to support mostRecentlyUsed
.
:: [KeySym] | The |
-> KeySym | The |
-> X () |
An action to browse through the history of focused windows, taking another step back with each tap of the key.
:: [KeySym] | The |
-> KeySym | The |
-> (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).