xmonad-contrib-0.15: Third party extensions for xmonad

Copyright | (c) 2007 Andrea Rossato 2009 Jan Vornberger
License | BSD-style (see xmonad/LICENSE)
Maintainer | andrea.rossato@unibz.it
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Layout.Decoration

Contents

- Usage:

Description

A layout modifier and a class for easily creating decorated layouts.

Synopsis

- decoration :: (DecorationStyle ds a, Shrinker s) => s -> Theme -> ds a -> l a -> ModifiedLayout (Decoration ds s) l a
- data Theme = Theme {
  - activeColor :: String
  - inactiveColor :: String
  - urgentColor :: String
  - activeBorderColor :: String
  - inactiveBorderColor :: String
  - urgentBorderColor :: String
  - activeTextColor :: String
  - inactiveTextColor :: String
  - urgentTextColor :: String
  - fontName :: String
  - decoWidth :: Dimension
  - decoHeight :: Dimension
  - windowTitleAddons :: [(String, Align)]
  - windowTitleIcons :: [([[Bool]], Placement)]
  }
- defaultTheme :: Theme
- def :: Default a => a
- data Decoration ds s a
- data DecorationMsg = SetTheme Theme
- class (Read (ds a), Show (ds a), Eq a) => DecorationStyle ds a where
  - describeDeco :: ds a -> String
  - shrink :: ds a -> Rectangle -> Rectangle -> Rectangle
  - decorationEventHook :: ds a -> DecorationState -> Event -> X ()
  - decorationCatchClicksHook :: ds a -> Window -> Int -> Int -> X Bool
  - decorationWhileDraggingHook :: ds a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X ()
  - decorationAfterDraggingHook :: ds a -> (Window, Rectangle) -> Window -> X ()
  - pureDecoration :: ds a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle
  - decorate :: ds a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle)
- data DefaultDecoration a = DefaultDecoration
- class (Read s, Show s) => Shrinker s where
  - shrinkIt :: s -> String -> [String]
- data DefaultShrinker
- shrinkText :: DefaultShrinker
- data CustomShrink = CustomShrink
- shrinkWhile :: (String -> [String]) -> (String -> X Bool) -> String -> X String
- isInStack :: Eq a => Stack a -> a -> Bool
- isVisible :: Rectangle -> [Rectangle] -> Bool
- isInvisible :: Rectangle -> [Rectangle] -> Bool
- isWithin :: Rectangle -> Rectangle -> Bool
- fi :: (Integral a, Num b) => a -> b
- findWindowByDecoration :: Window -> DecorationState -> Maybe (OrigWin, (Window, Maybe Rectangle))
- module XMonad.Layout.LayoutModifier
- data DecorationState
- type OrigWin = (Window, Rectangle)

# Usage:

This module is intended for layout developers, who want to decorate their layouts. End users will not find here very much for them.

For examples of `DecorationStyle` instances you can have a look at XMonad.Layout.SimpleDecoration, XMonad.Layout.Tabbed, XMonad.Layout.DwmStyle, or XMonad.Layout.TabBarDecoration.

decoration :: (DecorationStyle ds a, Shrinker s) => s -> Theme -> ds a -> l a -> ModifiedLayout (Decoration ds s) l a Source #

A layout modifier that, with a `Shrinker`, a `Theme`, a `DecorationStyle`, and a layout, will decorate this layout according to the decoration style provided.

For some usage examples see XMonad.Layout.DecorationMadness.

data Theme Source #

A `Theme` is a record of colors, font etc., to customize a `DecorationStyle`.

For a collection of `Theme`s see XMonad.Util.Themes

Constructors

Theme |

Fields

- activeColor :: String

  Color of the active window

- inactiveColor :: String

  Color of the inactive window

- urgentColor :: String

  Color of the urgent window

- activeBorderColor :: String

  Color of the border of the active window

- inactiveBorderColor :: String

  Color of the border of the inactive window

- urgentBorderColor :: String

  Color of the border of the urgent window

- activeTextColor :: String

  Color of the text of the active window

- inactiveTextColor :: String

  Color of the text of the inactive window

- urgentTextColor :: String

  Color of the text of the urgent window

- fontName :: String

  Font name

- decoWidth :: Dimension

  Maximum width of the decorations (if supported by the `DecorationStyle`)

- decoHeight :: Dimension

  Height of the decorations

- windowTitleAddons :: [(String, Align)]

  Extra text to appear in a window's title bar. Refer to for a use XMonad.Layout.ImageButtonDecoration

- windowTitleIcons :: [([[Bool]], Placement)]

  Extra icons to appear in a window's title bar. Inner `[Bool]` is a row in a icon bitmap.

Instances

Read Theme Source # |
Instance details Defined in XMonad.Layout.Decoration Methods readsPrec :: Int -> ReadS Theme Source # readList :: ReadS [Theme] Source # readPrec :: ReadPrec Theme Source # readListPrec :: ReadPrec [Theme] Source #
Show Theme Source # |
Instance details Defined in XMonad.Layout.Decoration Methods showsPrec :: Int -> Theme -> ShowS Source # show :: Theme -> String Source # showList :: [Theme] -> ShowS Source #
Default Theme Source # |
Instance details Defined in XMonad.Layout.Decoration Methods def :: Theme #

defaultTheme :: Theme Source #

Deprecated: Use def (from Data.Default, and re-exported by XMonad.Layout.Decoration) instead.

The default xmonad `Theme`.

def :: Default a => a #

data Decoration ds s a Source #

The `Decoration` `LayoutModifier`. This data type is an instance of the `LayoutModifier` class. This data type will be passed, together with a layout, to the `ModifiedLayout` type constructor to modify the layout by adding decorations according to a `DecorationStyle`.

Instances

(DecorationStyle ds Window, Shrinker s) => LayoutModifier (Decoration ds s) Window Source #

The long `LayoutModifier` instance for the `Decoration` type.

In `redoLayout` we check the state: if there is no state we initialize it.

The state is `diff`ed against the list of windows produced by the underlying layout: removed windows get deleted and new ones decorated by `createDecos`, which will call `decorate` to decide if a window must be given a `Rectangle`, in which case a decoration window will be created.

After that we resync the updated state with the windows' list and then we process the resynced stated (as we do with a new state).

First we map the decoration windows, we update each decoration to reflect any decorated window's change, and we insert, in the list of windows and rectangles returned by the underlying layout, the decoration for each window. This way xmonad will restack the decorations and their windows accordingly. At the end we remove invisible/stacked windows.

Message handling is quite simple: when needed we release the state component of the `Decoration` `LayoutModifier`. Otherwise we call `handleEvent`, which will call the appropriate `DecorationStyle` methods to perform its tasks.

Instance details

Defined in XMonad.Layout.Decoration

Methods

modifyLayout :: LayoutClass l Window => Decoration ds s Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) Source #

modifyLayoutWithUpdate :: LayoutClass l Window => Decoration ds s Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (Decoration ds s Window)) Source #

handleMess :: Decoration ds s Window -> SomeMessage -> X (Maybe (Decoration ds s Window)) Source #

handleMessOrMaybeModifyIt :: Decoration ds s Window -> SomeMessage -> X (Maybe (Either (Decoration ds s Window) SomeMessage)) Source #

pureMess :: Decoration ds s Window -> SomeMessage -> Maybe (Decoration ds s Window) Source #

redoLayout :: Decoration ds s Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Decoration ds s Window)) Source #

pureModifier :: Decoration ds s Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Decoration ds s Window)) Source #

hook :: Decoration ds s Window -> X () Source #

unhook :: Decoration ds s Window -> X () Source #

modifierDescription :: Decoration ds s Window -> String Source #

modifyDescription :: LayoutClass l Window => Decoration ds s Window -> l Window -> String Source #

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

data DecorationMsg Source #

A `Decoration` layout modifier will handle `SetTheme`, a message to dynamically change the decoration `Theme`.

Constructors

SetTheme Theme |

Instances

Message DecorationMsg Source # |
Instance details Defined in XMonad.Layout.Decoration

class (Read (ds a), Show (ds a), Eq a) => DecorationStyle ds a where Source #

The `DecorationStyle` class, defines methods used in the implementation of the `Decoration` `LayoutModifier` instance. A type instance of this class is passed to the `Decoration` type in order to decorate a layout, by using these methods.

Minimal complete definition

Nothing

Methods

describeDeco :: ds a -> String Source #

The description that the `Decoration` modifier will display.

shrink :: ds a -> Rectangle -> Rectangle -> Rectangle Source #

Shrink the window's rectangle when applying a decoration.

decorationEventHook :: ds a -> DecorationState -> Event -> X () Source #

The decoration event hook

decorationCatchClicksHook Source #

Arguments

:: ds a |
-> Window |
-> Int | distance from the left where the click happened on the decoration
-> Int | distance from the right where the click happened on the decoration
-> X Bool |

A hook that can be used to catch the cases when the user clicks on the decoration. If you return True here, the click event will be considered as dealt with and no further processing will take place.

decorationWhileDraggingHook :: ds a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

This hook is called while a window is dragged using the decoration. The hook can be overwritten if a different way of handling the dragging is required.

decorationAfterDraggingHook :: ds a -> (Window, Rectangle) -> Window -> X () Source #

This hoook is called after a window has been dragged using the decoration.

pureDecoration :: ds a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

The pure version of the main method, `decorate`.

decorate :: ds a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Given the theme's decoration width and height, the screen rectangle, the windows stack, the list of windows and rectangles returned by the underlying layout and window to be decorated, tupled with its rectangle, produce a `Just` `Rectangle` or `Nothing` if the window is not to be decorated.

Instances

Eq a => DecorationStyle DefaultDecoration a Source # |

Instance details

Defined in XMonad.Layout.Decoration

Methods

describeDeco :: DefaultDecoration a -> String Source #

shrink :: DefaultDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: DefaultDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: DefaultDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: DefaultDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: DefaultDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: DefaultDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: DefaultDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle TabbedDecoration a Source # |

Instance details

Defined in XMonad.Layout.Tabbed

Methods

describeDeco :: TabbedDecoration a -> String Source #

shrink :: TabbedDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: TabbedDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: TabbedDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: TabbedDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: TabbedDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: TabbedDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: TabbedDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle SimpleDecoration a Source # |

Instance details

Defined in XMonad.Layout.SimpleDecoration

Methods

describeDeco :: SimpleDecoration a -> String Source #

shrink :: SimpleDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: SimpleDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: SimpleDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: SimpleDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: SimpleDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: SimpleDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: SimpleDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle TabBarDecoration a Source # |

Instance details

Defined in XMonad.Layout.TabBarDecoration

Methods

describeDeco :: TabBarDecoration a -> String Source #

shrink :: TabBarDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: TabBarDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: TabBarDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: TabBarDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: TabBarDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: TabBarDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: TabBarDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle NoFrillsDecoration a Source # |

Instance details

Defined in XMonad.Layout.NoFrillsDecoration

Methods

describeDeco :: NoFrillsDecoration a -> String Source #

shrink :: NoFrillsDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: NoFrillsDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: NoFrillsDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: NoFrillsDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: NoFrillsDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: NoFrillsDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: NoFrillsDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle DwmStyle a Source # |

Instance details

Defined in XMonad.Layout.DwmStyle

Methods

describeDeco :: DwmStyle a -> String Source #

shrink :: DwmStyle a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: DwmStyle a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: DwmStyle a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: DwmStyle a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: DwmStyle a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: DwmStyle a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: DwmStyle a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle ImageButtonDecoration a Source # |

Instance details

Defined in XMonad.Layout.ImageButtonDecoration

Methods

describeDeco :: ImageButtonDecoration a -> String Source #

shrink :: ImageButtonDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: ImageButtonDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: ImageButtonDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: ImageButtonDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: ImageButtonDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: ImageButtonDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: ImageButtonDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle ImageWindowSwitcherDecoration a Source # |

Instance details

Defined in XMonad.Layout.WindowSwitcherDecoration

Methods

describeDeco :: ImageWindowSwitcherDecoration a -> String Source #

shrink :: ImageWindowSwitcherDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: ImageWindowSwitcherDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: ImageWindowSwitcherDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: ImageWindowSwitcherDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: ImageWindowSwitcherDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: ImageWindowSwitcherDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: ImageWindowSwitcherDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle WindowSwitcherDecoration a Source # |

Instance details

Defined in XMonad.Layout.WindowSwitcherDecoration

Methods

describeDeco :: WindowSwitcherDecoration a -> String Source #

shrink :: WindowSwitcherDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: WindowSwitcherDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: WindowSwitcherDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: WindowSwitcherDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: WindowSwitcherDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: WindowSwitcherDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: WindowSwitcherDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

Eq a => DecorationStyle ButtonDecoration a Source # |

Instance details

Defined in XMonad.Layout.ButtonDecoration

Methods

describeDeco :: ButtonDecoration a -> String Source #

shrink :: ButtonDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: ButtonDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: ButtonDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: ButtonDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: ButtonDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: ButtonDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: ButtonDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

data DefaultDecoration a Source #

The default `DecorationStyle`, with just the default methods' implementations.

Constructors

DefaultDecoration |

Instances

Eq a => DecorationStyle DefaultDecoration a Source # |

Instance details

Defined in XMonad.Layout.Decoration

Methods

describeDeco :: DefaultDecoration a -> String Source #

shrink :: DefaultDecoration a -> Rectangle -> Rectangle -> Rectangle Source #

decorationEventHook :: DefaultDecoration a -> DecorationState -> Event -> X () Source #

decorationCatchClicksHook :: DefaultDecoration a -> Window -> Int -> Int -> X Bool Source #

decorationWhileDraggingHook :: DefaultDecoration a -> CInt -> CInt -> (Window, Rectangle) -> Position -> Position -> X () Source #

decorationAfterDraggingHook :: DefaultDecoration a -> (Window, Rectangle) -> Window -> X () Source #

pureDecoration :: DefaultDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> Maybe Rectangle Source #

decorate :: DefaultDecoration a -> Dimension -> Dimension -> Rectangle -> Stack a -> [(a, Rectangle)] -> (a, Rectangle) -> X (Maybe Rectangle) Source #

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

class (Read s, Show s) => Shrinker s where Source #

Methods

shrinkIt :: s -> String -> [String] Source #

Instances

Shrinker DefaultShrinker Source # |
Instance details Defined in XMonad.Layout.Decoration Methods shrinkIt :: DefaultShrinker -> String -> [String] Source #
Shrinker CustomShrink Source # |
Instance details Defined in XMonad.Config.Droundy Methods shrinkIt :: CustomShrink -> String -> [String] Source #

data DefaultShrinker Source #

Instances

Read DefaultShrinker Source # |
Instance details Defined in XMonad.Layout.Decoration Methods readsPrec :: Int -> ReadS DefaultShrinker Source # readList :: ReadS [DefaultShrinker] Source # readPrec :: ReadPrec DefaultShrinker Source # readListPrec :: ReadPrec [DefaultShrinker] Source #
Show DefaultShrinker Source # |
Instance details Defined in XMonad.Layout.Decoration Methods showsPrec :: Int -> DefaultShrinker -> ShowS Source # show :: DefaultShrinker -> String Source # showList :: [DefaultShrinker] -> ShowS Source #
Shrinker DefaultShrinker Source # |
Instance details Defined in XMonad.Layout.Decoration Methods shrinkIt :: DefaultShrinker -> String -> [String] Source #

shrinkText :: DefaultShrinker Source #

data CustomShrink Source #

Constructors

CustomShrink |

Instances

Read CustomShrink Source # |
Instance details Defined in XMonad.Layout.Decoration Methods readsPrec :: Int -> ReadS CustomShrink Source # readList :: ReadS [CustomShrink] Source # readPrec :: ReadPrec CustomShrink Source # readListPrec :: ReadPrec [CustomShrink] Source #
Show CustomShrink Source # |
Instance details Defined in XMonad.Layout.Decoration Methods showsPrec :: Int -> CustomShrink -> ShowS Source # show :: CustomShrink -> String Source # showList :: [CustomShrink] -> ShowS Source #
Shrinker CustomShrink Source # |
Instance details Defined in XMonad.Config.Droundy Methods shrinkIt :: CustomShrink -> String -> [String] Source #

shrinkWhile :: (String -> [String]) -> (String -> X Bool) -> String -> X String Source #

isInStack :: Eq a => Stack a -> a -> Bool Source #

True if the window is in the `Stack`. The `Window` comes second to facilitate list processing, even though `w `isInStack` s` won't work...;)

isVisible :: Rectangle -> [Rectangle] -> Bool Source #

Given a `Rectangle` and a list of `Rectangle`s is True if the `Rectangle` is not completely contained by any `Rectangle` of the list.

isInvisible :: Rectangle -> [Rectangle] -> Bool Source #

The contrary of `isVisible`.

isWithin :: Rectangle -> Rectangle -> Bool Source #

True is the first `Rectangle` is totally within the second `Rectangle`.

fi :: (Integral a, Num b) => a -> b Source #

Short-hand for `fromIntegral`

findWindowByDecoration :: Window -> DecorationState -> Maybe (OrigWin, (Window, Maybe Rectangle)) Source #

module XMonad.Layout.LayoutModifier

data DecorationState Source #

The `Decoration` state component, where the list of decorated window's is zipped with a list of decoration. A list of decoration is a list of tuples, a `Maybe` `Window` and a 'Maybe Rectangle'. The `Window` will be displayed only if the rectangle is of type `Just`.

type OrigWin = (Window, Rectangle) Source #