xmonad-contrib-0.13: Third party extensions for xmonad

Copyright | (c) 2008 David Roundy <droundy@darcs.net>
License | BSD3-style (see LICENSE)
Maintainer | Adam Vogt <vogt.adam@gmail.com>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Layout.BoringWindows

Contents

- Usage
- Tips
  - variant of `Full`

Description

BoringWindows is an extension to allow windows to be marked boring

Synopsis

- boringWindows :: (LayoutClass l a, Eq a) => l a -> ModifiedLayout BoringWindows l a
- boringAuto :: (LayoutClass l a, Eq a) => l a -> ModifiedLayout BoringWindows l a
- markBoring :: X ()
- clearBoring :: X ()
- focusUp :: X ()
- focusDown :: X ()
- focusMaster :: X ()
- data UpdateBoring = UpdateBoring
- data BoringMessage
  - = Replace String [Window]
  - | Merge String [Window]
- data BoringWindows a

# Usage

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

    import XMonad.Layout.BoringWindows

Then edit your `layoutHook` by adding the layout modifier:

    myLayout = boringWindows (Full ||| etc..)
    main = xmonad def { layoutHook = myLayout }

Then to your keybindings, add:

    , ((modm, xK_j), focusUp)
    , ((modm, xK_k), focusDown)
    , ((modm, xK_m), focusMaster)

For more detailed instructions on editing the layoutHook see:

XMonad.Doc.Extending

boringWindows :: (LayoutClass l a, Eq a) => l a -> ModifiedLayout BoringWindows l a #

boringAuto :: (LayoutClass l a, Eq a) => l a -> ModifiedLayout BoringWindows l a #

Mark windows that are not given rectangles as boring

markBoring :: X () #

clearBoring :: X () #

focusUp :: X () #

focusDown :: X () #

focusMaster :: X () #

data UpdateBoring #

UpdateBoring is sent before attempting to view another boring window, so that layouts have a chance to mark boring windows.

Constructors

UpdateBoring |

Instances

Message UpdateBoring # |

data BoringMessage #

Constructors

Replace String [Window] |
Merge String [Window] |

Instances

Read BoringMessage # |
Methods readsPrec :: Int -> ReadS BoringMessage # readList :: ReadS [BoringMessage] # readPrec :: ReadPrec BoringMessage # readListPrec :: ReadPrec [BoringMessage] #
Show BoringMessage # |
Methods showsPrec :: Int -> BoringMessage -> ShowS # show :: BoringMessage -> String # showList :: [BoringMessage] -> ShowS #
Message BoringMessage # |

data BoringWindows a #

Instances

LayoutModifier BoringWindows Window # |

Methods

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

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

handleMess :: BoringWindows Window -> SomeMessage -> X (Maybe (BoringWindows Window)) #

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

pureMess :: BoringWindows Window -> SomeMessage -> Maybe (BoringWindows Window) #

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

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

hook :: BoringWindows Window -> X () #

unhook :: BoringWindows Window -> X () #

modifierDescription :: BoringWindows Window -> String #

modifyDescription :: LayoutClass l Window => BoringWindows Window -> l Window -> String #

Read a => Read (BoringWindows a) # |
Methods readsPrec :: Int -> ReadS (BoringWindows a) # readList :: ReadS [BoringWindows a] # readPrec :: ReadPrec (BoringWindows a) # readListPrec :: ReadPrec [BoringWindows a] #
Show a => Show (BoringWindows a) # |
Methods showsPrec :: Int -> BoringWindows a -> ShowS # show :: BoringWindows a -> String # showList :: [BoringWindows a] -> ShowS #

# Tips

## variant of `Full`

An alternative to `Full` is XMonad.Layout.Simplest. Less windows are ignored by `focusUp` and `focusDown`. This may be helpful when you want windows to be uninteresting by some other layout modifier (ex. XMonad.Layout.Minimize)