Copyright | (c) Andrea Rossato 2007 |
---|---|
License | BSD-style (see xmonad/LICENSE) |
Maintainer | andrea.rossato@unibz.it |
Stability | unstable |
Portability | unportable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This is a pure layout modifier that will let you move and resize windows with the keyboard in any layout.
Synopsis
- windowArrange :: l a -> ModifiedLayout WindowArranger l a
- windowArrangeAll :: l a -> ModifiedLayout WindowArranger l a
- data WindowArrangerMsg
- data WindowArranger a
- memberFromList :: (b -> c) -> (c -> a -> Bool) -> a -> [b] -> [b]
- listFromList :: (b -> c) -> (c -> [a] -> Bool) -> [a] -> [b] -> [b]
- diff :: Eq a => ([a], [a]) -> ([a], [a])
Usage
You can use this module with the following in your
xmonad.hs
:
import XMonad.Layout.WindowArranger myLayout = layoutHook def main = xmonad def { layoutHook = windowArrange myLayout }
or
main = xmonad def { layoutHook = windowArrangeAll myLayout }
For more detailed instructions on editing the layoutHook see the tutorial and XMonad.Doc.Extending.
You may also want to define some key binding to move or resize windows. These are good defaults:
, ((modm .|. controlMask , xK_s ), sendMessage Arrange ) , ((modm .|. controlMask .|. shiftMask, xK_s ), sendMessage DeArrange ) , ((modm .|. controlMask , xK_Left ), sendMessage (MoveLeft 1)) , ((modm .|. controlMask , xK_Right), sendMessage (MoveRight 1)) , ((modm .|. controlMask , xK_Down ), sendMessage (MoveDown 1)) , ((modm .|. controlMask , xK_Up ), sendMessage (MoveUp 1)) , ((modm .|. shiftMask, xK_Left ), sendMessage (IncreaseLeft 1)) , ((modm .|. shiftMask, xK_Right), sendMessage (IncreaseRight 1)) , ((modm .|. shiftMask, xK_Down ), sendMessage (IncreaseDown 1)) , ((modm .|. shiftMask, xK_Up ), sendMessage (IncreaseUp 1)) , ((modm .|. controlMask .|. shiftMask, xK_Left ), sendMessage (DecreaseLeft 1)) , ((modm .|. controlMask .|. shiftMask, xK_Right), sendMessage (DecreaseRight 1)) , ((modm .|. controlMask .|. shiftMask, xK_Down ), sendMessage (DecreaseDown 1)) , ((modm .|. controlMask .|. shiftMask, xK_Up ), sendMessage (DecreaseUp 1))
For detailed instructions on editing your key bindings, see the tutorial.
windowArrange :: l a -> ModifiedLayout WindowArranger l a Source #
A layout modifier to float the windows in a workspace
windowArrangeAll :: l a -> ModifiedLayout WindowArranger l a Source #
A layout modifier to float all the windows in a workspace
data WindowArrangerMsg Source #
Instances
Message WindowArrangerMsg Source # | |
Defined in XMonad.Layout.WindowArranger |
data WindowArranger a Source #
Instances
memberFromList :: (b -> c) -> (c -> a -> Bool) -> a -> [b] -> [b] Source #
Given a function to be applied to each member of ta list, and a function to check a condition by processing this transformed member with something, you get the first member that satisfy the condition, or an empty list.
listFromList :: (b -> c) -> (c -> [a] -> Bool) -> [a] -> [b] -> [b] Source #
Given a function to be applied to each member of a list, and a function to check a condition by processing this transformed member with the members of a list, you get the list of members that satisfy the condition.