XMonad.Layout.BoringWindows

xmonad-contrib-0.18.1: Community-maintained 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 | Haskell2010

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 ()
- markBoringEverywhere :: X ()
- clearBoring :: X ()
- focusUp :: X ()
- focusDown :: X ()
- focusMaster :: X ()
- swapUp :: X ()
- swapDown :: X ()
- siftUp :: X ()
- siftDown :: 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.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 the tutorial and 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 () #

markBoringEverywhere :: X () #

Mark current focused window boring for all layouts. This is useful in combination with the XMonad.Actions.CopyWindow module.

clearBoring :: X () #

focusUp :: X () #

focusDown :: X () #

focusMaster :: X () #

swapUp :: X () #

swapDown :: X () #

siftUp :: X () #

siftDown :: 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

Instances details

Message UpdateBoring # |
Instance details Defined in XMonad.Layout.BoringWindows

data BoringMessage #

Constructors

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

#### Instances

Instances details

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

data BoringWindows a #

#### Instances

Instances details

LayoutModifier BoringWindows Window # |
Instance details Defined in XMonad.Layout.BoringWindows 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) # |
Instance details Defined in XMonad.Layout.BoringWindows Methods readsPrec :: Int -> ReadS (BoringWindows a) # readList :: ReadS [BoringWindows a] # readPrec :: ReadPrec (BoringWindows a) # readListPrec :: ReadPrec [BoringWindows a] #
Show a => Show (BoringWindows a) # |
Instance details Defined in XMonad.Layout.BoringWindows 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)