xmonad-contrib-0.18.0: Community-maintained extensions for xmonad
Copyright(c) Andrea Rossato 2007
LicenseBSD-style (see xmonad/LICENSE)
Maintainerandrea.rossato@unibz.it
Stabilityunstable
Portabilityunportable
Safe HaskellNone
LanguageHaskell2010

XMonad.Layout.WindowArranger

Contents

Description

This is a pure layout modifier that will let you move and resize windows with the keyboard in any layout.

Synopsis

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 WindowArranger a Source #

Instances

Instances details
(Show a, Read a, Eq a) => LayoutModifier WindowArranger a Source # 
Instance details

Defined in XMonad.Layout.WindowArranger

Read a => Read (WindowArranger a) Source # 
Instance details

Defined in XMonad.Layout.WindowArranger

Show a => Show (WindowArranger a) Source # 
Instance details

Defined in XMonad.Layout.WindowArranger

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.

diff :: Eq a => ([a], [a]) -> ([a], [a]) Source #

Get the list of elements to be deleted and the list of elements to be added to the first list in order to get the second list.