XMonad.Layout.LimitWindows

xmonad-contrib-0.11.4: Third party 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 | Haskell98

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/xmonad.hs`:

    import XMonad.Layout.LimitWindows

    myLayout = limitWindows 6 $ Tall 1 0.03 0.5 ||| Full ||| RandomOtherLayout...
    main = xmonad defaultConfig { 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 XMonad.Doc.Extending.

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 `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

LayoutModifier LimitWindows a |
Read (LimitWindows a) |
Show (LimitWindows a) |

data Selection a

Instances

LayoutModifier Selection a |
Eq (Selection a) |
Read (Selection a) |
Show (Selection a) |