Copyright | (c) Brent Yorgey |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | <byorgey@gmail.com> |
Stability | unstable |
Portability | unportable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Reflect a layout horizontally or vertically.
Synopsis
- reflectHoriz :: l a -> ModifiedLayout Reflect l a
- reflectVert :: l a -> ModifiedLayout Reflect l a
- data REFLECTX = REFLECTX
- data REFLECTY = REFLECTY
- data Reflect a
Usage
You can use this module by importing it into your ~/.xmonad/xmonad.hs
file:
import XMonad.Layout.Reflect
and modifying your layoutHook as follows (for example):
layoutHook = reflectHoriz $ Tall 1 (3/100) (1/2) -- put master pane on the right
reflectHoriz
and reflectVert
can be applied to any sort of
layout (including Mirrored layouts) and will simply flip the
physical layout of the windows vertically or horizontally.
XMonad.Layout.MultiToggle transformers are also provided for toggling layouts between reflected/non-reflected with a keybinding. To use this feature, you will also need to import the MultiToggle module:
import XMonad.Layout.MultiToggle
Next, add one or more toggles to your layout. For example, to allow separate toggling of both vertical and horizontal reflection:
layoutHook = mkToggle (single REFLECTX) $ mkToggle (single REFLECTY) $ (tiled ||| Mirror tiled ||| ...) -- whatever layouts you use
Finally, add some keybindings to do the toggling, for example:
, ((modm .|. controlMask, xK_x), sendMessage $ Toggle REFLECTX) , ((modm .|. controlMask, xK_y), sendMessage $ Toggle REFLECTY)
reflectHoriz :: l a -> ModifiedLayout Reflect l a Source #
Apply a horizontal reflection (left <--> right) to a layout.
reflectVert :: l a -> ModifiedLayout Reflect l a Source #
Apply a vertical reflection (top <--> bottom) to a layout.