xmonad-contrib-0.18.1: Community-maintained extensions for xmonad

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

XMonad.Layout.Tabbed

Contents

- Usage:

Description

A tabbed layout for the Xmonad Window Manager

Synopsis

- simpleTabbed :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window
- tabbed :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a
- addTabs :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a
- simpleTabbedAlways :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window
- tabbedAlways :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a
- addTabsAlways :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a
- simpleTabbedBottom :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window
- tabbedBottom :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a
- addTabsBottom :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a
- simpleTabbedLeft :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window
- tabbedLeft :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a
- addTabsLeft :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a
- simpleTabbedRight :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window
- tabbedRight :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a
- addTabsRight :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a
- simpleTabbedBottomAlways :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window
- tabbedBottomAlways :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a
- addTabsBottomAlways :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a
- simpleTabbedLeftAlways :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window
- tabbedLeftAlways :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a
- addTabsLeftAlways :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a
- simpleTabbedRightAlways :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window
- tabbedRightAlways :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a
- addTabsRightAlways :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a
- data Theme = Theme {
  - activeColor :: String
  - inactiveColor :: String
  - urgentColor :: String
  - activeBorderColor :: String
  - inactiveBorderColor :: String
  - urgentBorderColor :: String
  - activeBorderWidth :: Dimension
  - inactiveBorderWidth :: Dimension
  - urgentBorderWidth :: Dimension
  - activeTextColor :: String
  - inactiveTextColor :: String
  - urgentTextColor :: String
  - fontName :: String
  - decoWidth :: Dimension
  - decoHeight :: Dimension
  - windowTitleAddons :: [(String, Align)]
  - windowTitleIcons :: [([[Bool]], Placement)]
  }
- def :: Default a => a
- data TabbedDecoration a = Tabbed Direction2D TabbarShown
- shrinkText :: DefaultShrinker
- data CustomShrink = CustomShrink
- class (Read s, Show s) => Shrinker s where
  - shrinkIt :: s -> String -> [String]
- data TabbarShown
- data Direction2D
  - = U
  - | D
  - | R
  - | L

# Usage:

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

    import XMonad.Layout.Tabbed

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

    myLayout = simpleTabbed ||| Full ||| etc..

or, if you want a specific theme for you tabbed layout:

    myLayout = tabbed shrinkText def ||| Full ||| etc..

and then:

    main = xmonad def { layoutHook = myLayout }

This layout has hardcoded behaviour for mouse clicks on tab decorations: Left click on the tab switches focus to that window. Middle click on the tab closes the window.

The default Tabbar behaviour is to hide it when only one window is open on the workspace. To have it always shown, use one of the layouts or modifiers ending in `Always`.

For more detailed instructions on editing the layoutHook see the tutorial and XMonad.Doc.Extending.

You can also edit the default configuration options.

    myTabConfig = def { inactiveBorderColor = "#FF0000"
                      , activeTextColor = "#00FF00"}

and

    mylayout = tabbed shrinkText myTabConfig ||| Full ||| etc..

simpleTabbed :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window Source #

A tabbed layout with the default xmonad Theme.

This is a minimal working configuration:

    import XMonad
    import XMonad.Layout.Tabbed
    main = xmonad def { layoutHook = simpleTabbed }

tabbed :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a Source #

A layout decorated with tabs and the possibility to set a custom shrinker and theme.

addTabs :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a Source #

A layout modifier that uses the provided shrinker and theme to add tabs to any layout.

simpleTabbedAlways :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window Source #

tabbedAlways :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a Source #

addTabsAlways :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a Source #

simpleTabbedBottom :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window Source #

A bottom-tabbed layout with the default xmonad Theme.

tabbedBottom :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a Source #

A layout decorated with tabs at the bottom and the possibility to set a custom shrinker and theme.

addTabsBottom :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a Source #

A layout modifier that uses the provided shrinker and theme to add tabs to the bottom of any layout.

simpleTabbedLeft :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window Source #

A side-tabbed layout with the default xmonad Theme.

tabbedLeft :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a Source #

A layout decorated with tabs and the possibility to set a custom shrinker and theme.

addTabsLeft :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a Source #

A layout modifier that uses the provided shrinker and theme to add tabs to the side of any layout.

simpleTabbedRight :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window Source #

A side-tabbed layout with the default xmonad Theme.

tabbedRight :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a Source #

A layout decorated with tabs and the possibility to set a custom shrinker and theme.

addTabsRight :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a Source #

A layout modifier that uses the provided shrinker and theme to add tabs to the side of any layout.

simpleTabbedBottomAlways :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window Source #

A bottom-tabbed layout with the default xmonad Theme.

tabbedBottomAlways :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a Source #

addTabsBottomAlways :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a Source #

simpleTabbedLeftAlways :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window Source #

A side-tabbed layout with the default xmonad Theme.

tabbedLeftAlways :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a Source #

A layout decorated with tabs and the possibility to set a custom shrinker and theme.

addTabsLeftAlways :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a Source #

simpleTabbedRightAlways :: ModifiedLayout (Decoration TabbedDecoration DefaultShrinker) Simplest Window Source #

A side-tabbed layout with the default xmonad Theme.

tabbedRightAlways :: (Eq a, Shrinker s) => s -> Theme -> ModifiedLayout (Decoration TabbedDecoration s) Simplest a Source #

A layout decorated with tabs and the possibility to set a custom shrinker and theme.

addTabsRightAlways :: (Eq a, LayoutClass l a, Shrinker s) => s -> Theme -> l a -> ModifiedLayout (Decoration TabbedDecoration s) l a Source #

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

- activeBorderWidth :: Dimension

  Width of the border of the active window

- inactiveBorderWidth :: Dimension

  Width of the border of the inactive window

- urgentBorderWidth :: Dimension

  Width 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

Instances details

Default Theme Source # | The default xmonad `Theme`.
Instance details Defined in XMonad.Layout.Decoration Methods def :: Theme #
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 #

def :: Default a => a #

data TabbedDecoration a Source #

Constructors

Tabbed Direction2D TabbarShown |

#### Instances

Instances details

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 #

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

shrinkText :: DefaultShrinker Source #

data CustomShrink Source #

Constructors

CustomShrink |

#### Instances

Instances details

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 #

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

Methods

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

#### Instances

Instances details

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

data TabbarShown Source #

#### Instances

Instances details

Read TabbarShown Source # |
Instance details Defined in XMonad.Layout.Tabbed Methods readsPrec :: Int -> ReadS TabbarShown Source # readList :: ReadS [TabbarShown] Source # readPrec :: ReadPrec TabbarShown Source # readListPrec :: ReadPrec [TabbarShown] Source #
Show TabbarShown Source # |
Instance details Defined in XMonad.Layout.Tabbed Methods showsPrec :: Int -> TabbarShown -> ShowS Source # show :: TabbarShown -> String Source # showList :: [TabbarShown] -> ShowS Source #
Eq TabbarShown Source # |
Instance details Defined in XMonad.Layout.Tabbed Methods (==) :: TabbarShown -> TabbarShown -> Bool Source # (/=) :: TabbarShown -> TabbarShown -> Bool Source #

data Direction2D Source #

Two-dimensional directions:

Constructors

U | Up
D | Down
R | Right
L | Left

#### Instances

Instances details

Bounded Direction2D Source # |
Instance details Defined in XMonad.Util.Types Methods minBound :: Direction2D Source # maxBound :: Direction2D Source #
Enum Direction2D Source # |

Instance details

Defined in XMonad.Util.Types

Methods

succ :: Direction2D -> Direction2D Source #

pred :: Direction2D -> Direction2D Source #

toEnum :: Int -> Direction2D Source #

fromEnum :: Direction2D -> Int Source #

enumFrom :: Direction2D -> [Direction2D] Source #

enumFromThen :: Direction2D -> Direction2D -> [Direction2D] Source #

enumFromTo :: Direction2D -> Direction2D -> [Direction2D] Source #

enumFromThenTo :: Direction2D -> Direction2D -> Direction2D -> [Direction2D] Source #

Read Direction2D Source # |
Instance details Defined in XMonad.Util.Types Methods readsPrec :: Int -> ReadS Direction2D Source # readList :: ReadS [Direction2D] Source # readPrec :: ReadPrec Direction2D Source # readListPrec :: ReadPrec [Direction2D] Source #
Show Direction2D Source # |
Instance details Defined in XMonad.Util.Types Methods showsPrec :: Int -> Direction2D -> ShowS Source # show :: Direction2D -> String Source # showList :: [Direction2D] -> ShowS Source #
Eq Direction2D Source # |
Instance details Defined in XMonad.Util.Types Methods (==) :: Direction2D -> Direction2D -> Bool Source # (/=) :: Direction2D -> Direction2D -> Bool Source #
Ord Direction2D Source # |

Instance details

Defined in XMonad.Util.Types

Methods

compare :: Direction2D -> Direction2D -> Ordering Source #

(<) :: Direction2D -> Direction2D -> Bool Source #

(<=) :: Direction2D -> Direction2D -> Bool Source #

(>) :: Direction2D -> Direction2D -> Bool Source #

(>=) :: Direction2D -> Direction2D -> Bool Source #

max :: Direction2D -> Direction2D -> Direction2D Source #

min :: Direction2D -> Direction2D -> Direction2D Source #