HyperChoose =========== 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 `<|||>` Other Messages ============== `FirstLayout'` - jumps to the first layout `JumpToLayout "Layout Label"` - jumps to the first layout with such label Labels ====== 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"