xmonad-contrib-0.18.0: Community-maintained extensions for xmonad

Copyright | (c) 2009 Adam Vogt (c) 2009 Max Rabkin -- wrote limitSelect
License | BSD-style (see xmonad/LICENSE)
Maintainer | vogt.adam@gmail.com
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell2010

XMonad.Layout.LimitWindows

Contents

- Usage
- Layout Modifiers
- Change the number of windows
- Types

Description

A layout modifier that limits the number of windows that can be shown. See XMonad.Layout.Minimize for manually setting hidden windows.

Synopsis

- limitWindows :: Int -> l a -> ModifiedLayout LimitWindows l a
- limitSlice :: Int -> l a -> ModifiedLayout LimitWindows l a
- limitSelect :: Int -> Int -> l a -> ModifiedLayout Selection l a
- increaseLimit :: X ()
- decreaseLimit :: X ()
- setLimit :: Int -> X ()
- data LimitWindows a
- data Selection a

# Usage

To use this module, add the following import to `xmonad.hs`:

    import XMonad.Layout.LimitWindows

    myLayout = limitWindows 6 $ Tall 1 0.03 0.5 ||| Full ||| RandomOtherLayout...
    main = xmonad def { layoutHook = myLayout }

You may also be interested in dynamically changing the number dynamically, by binding keys to the `increaseLimit`, `decreaseLimit`, or `setLimit` actions.

For detailed instructions on editing your key bindings, see the tutorial.

See also `boringAuto` for keybindings that skip the hidden windows.

# Layout Modifiers

limitWindows :: Int -> l a -> ModifiedLayout LimitWindows l a #

Only display the first `n` windows.

limitSlice :: Int -> l a -> ModifiedLayout LimitWindows l a #

Only display `n` windows around the focused window. This makes sense with layouts that arrange windows linearily, like XMonad.Layout.Accordion.

limitSelect :: Int -> Int -> l a -> ModifiedLayout Selection l a #

Only display the first `m` windows and `r` others. The `IncMasterN` message will change `m`, as well as passing it onto the underlying layout.

# Change the number of windows

increaseLimit :: X () #

decreaseLimit :: X () #

setLimit :: Int -> X () #

# Types

data LimitWindows a #

#### Instances

Instances details

LayoutModifier LimitWindows a # |

Instance details

Defined in XMonad.Layout.LimitWindows

Methods

modifyLayout :: LayoutClass l a => LimitWindows a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) #

modifyLayoutWithUpdate :: LayoutClass l a => LimitWindows a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (LimitWindows a)) #

handleMess :: LimitWindows a -> SomeMessage -> X (Maybe (LimitWindows a)) #

handleMessOrMaybeModifyIt :: LimitWindows a -> SomeMessage -> X (Maybe (Either (LimitWindows a) SomeMessage)) #

pureMess :: LimitWindows a -> SomeMessage -> Maybe (LimitWindows a) #

redoLayout :: LimitWindows a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (LimitWindows a)) #

pureModifier :: LimitWindows a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (LimitWindows a)) #

hook :: LimitWindows a -> X () #

unhook :: LimitWindows a -> X () #

modifierDescription :: LimitWindows a -> String #

modifyDescription :: LayoutClass l a => LimitWindows a -> l a -> String #

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

data Selection a #

#### Instances

Instances details

LayoutModifier Selection a # |

Instance details

Defined in XMonad.Layout.LimitWindows

Methods

modifyLayout :: LayoutClass l a => Selection a -> Workspace WorkspaceId (l a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (l a)) #

modifyLayoutWithUpdate :: LayoutClass l a => Selection a -> Workspace WorkspaceId (l a) a -> Rectangle -> X (([(a, Rectangle)], Maybe (l a)), Maybe (Selection a)) #

handleMess :: Selection a -> SomeMessage -> X (Maybe (Selection a)) #

handleMessOrMaybeModifyIt :: Selection a -> SomeMessage -> X (Maybe (Either (Selection a) SomeMessage)) #

pureMess :: Selection a -> SomeMessage -> Maybe (Selection a) #

redoLayout :: Selection a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (Selection a)) #

pureModifier :: Selection a -> Rectangle -> Maybe (Stack a) -> [(a, Rectangle)] -> ([(a, Rectangle)], Maybe (Selection a)) #

hook :: Selection a -> X () #

unhook :: Selection a -> X () #

modifierDescription :: Selection a -> String #

modifyDescription :: LayoutClass l a => Selection a -> l a -> String #

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