XMonad.Layout.LimitWindows

xmonad-contrib-0.18.1: 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 #