xmonad-contrib-0.16: Third party extensions for xmonad

Copyright | (c) Jan Vornberger 2009
License | BSD3-style (see LICENSE)
Maintainer | jan.vornberger@informatik.uni-oldenburg.de
Stability | unstable
Portability | not portable
Safe Haskell | None
Language | Haskell98

XMonad.Layout.BorderResize

Contents

- Usage

Description

This layout modifier will allow to resize windows by dragging their borders with the mouse. However, it only works in layouts or modified layouts that react to the `SetGeometry` message. XMonad.Layout.WindowArranger can be used to create such a setup, but it is probably must useful in a floating layout such as XMonad.Layout.PositionStoreFloat with which it has been mainly tested. See the documentation of PositionStoreFloat for a typical usage example.

Synopsis

- borderResize :: l a -> ModifiedLayout BorderResize l a
- data BorderResize a = BR (Map Window RectWithBorders)
- type RectWithBorders = (Rectangle, [BorderInfo])
- data BorderInfo

# Usage

You can use this module with the following in your `~/.xmonad/xmonad.hs`:

    import XMonad.Layout.BorderResize
    myLayout = borderResize (... layout setup that reacts to SetGeometry ...)
    main = xmonad def { layoutHook = myLayout }

borderResize :: l a -> ModifiedLayout BorderResize l a Source #

data BorderResize a Source #

Constructors

BR (Map Window RectWithBorders) |

#### Instances

Instances details

LayoutModifier BorderResize Window Source # |

Instance details

Defined in XMonad.Layout.BorderResize

Methods

modifyLayout :: LayoutClass l Window => BorderResize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source #

modifyLayoutWithUpdate :: LayoutClass l Window => BorderResize Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (BorderResize Window)) Source #

handleMess :: BorderResize Window -> SomeMessage -> X (Maybe (BorderResize Window)) Source #

handleMessOrMaybeModifyIt :: BorderResize Window -> SomeMessage -> X (Maybe (Either (BorderResize Window) SomeMessage)) Source #

pureMess :: BorderResize Window -> SomeMessage -> Maybe (BorderResize Window) Source #

redoLayout :: BorderResize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (BorderResize Window)) Source #

pureModifier :: BorderResize Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (BorderResize Window)) Source #

hook :: BorderResize Window -> X () Source #

unhook :: BorderResize Window -> X () Source #

modifierDescription :: BorderResize Window -> String Source #

modifyDescription :: LayoutClass l Window => BorderResize Window -> l Window -> String Source #

Read (BorderResize a) Source # |
Instance details Defined in XMonad.Layout.BorderResize Methods readsPrec :: Int -> ReadS (BorderResize a) # readList :: ReadS [BorderResize a] # readPrec :: ReadPrec (BorderResize a) readListPrec :: ReadPrec [BorderResize a]
Show (BorderResize a) Source # |
Instance details Defined in XMonad.Layout.BorderResize Methods showsPrec :: Int -> BorderResize a -> ShowS # show :: BorderResize a -> String # showList :: [BorderResize a] -> ShowS #

type RectWithBorders = (Rectangle, [BorderInfo]) Source #

data BorderInfo Source #

#### Instances

Instances details

Read BorderInfo Source # |
Instance details Defined in XMonad.Layout.BorderResize Methods readsPrec :: Int -> ReadS BorderInfo # readList :: ReadS [BorderInfo] # readPrec :: ReadPrec BorderInfo readListPrec :: ReadPrec [BorderInfo]
Show BorderInfo Source # |
Instance details Defined in XMonad.Layout.BorderResize Methods showsPrec :: Int -> BorderInfo -> ShowS # show :: BorderInfo -> String # showList :: [BorderInfo] -> ShowS #