Hyperchoose is a project mainly written in Haskell, it's free.
a XMonad.Layout.Choose replacement (or companion)
a XMonad.Layout.Choose replacement (or companion)
usage sample: add import somwhere in the begining of your xmonad.hs: import XMonad.Layout.HyperChoose
modify your layoutHook: layoutHints $ smartBorders $ Full ||| Mirror tiled <|||> Grid ||| Circle <|||> Roledex
add key binding: ((modMask , xK_b ), sendMessage NextLayout')
now you can switch between 3 different groups of layouts (Full ||| Mirror tiled
, Grid ||| Circle
, and Roledex
)
you can also use hyperChoose function instead of <|||>
FirstLayout'
- jumps to the first layout
JumpToLayout "Layout Label"
- jumps to the first layout with such label
You can label any layout or composition of layouts, for example: For example: myLayout = layoutHints $ smartBorders $ Full ||| Mirror tiled ~~ "Full & Tiled" <|||> Grid ||| Circle ~~ "Grid & Circle" <|||> Roledex ~~ "Roledex"