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

Copyright | (c) 2007 Andrea Rossato 2023 Ilya Portnov
License | BSD-style (see xmonad/LICENSE)
Maintainer | portnov84@rambler.ru
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell2010

XMonad.Layout.DecorationEx.TabbedGeometry

Description

This module defines window decoration geometry based on tabs. The tabs can follow horizontally and be placed above or below windows; in such case, tabs can occupy full width of the window or be aligned to left or right. Or tabs can go vertically near left or right side of the window.

Synopsis

- textTabbed :: Shrinker shrinker => shrinker -> ThemeEx StandardWidget -> l Window -> ModifiedLayout (DecorationEx TextDecoration StandardWidget TabbedGeometry shrinker) l Window
- data TabbedGeometry a
  - = HorizontalTabs {
    - showIfSingleWindow :: !SingleTabMode
    - hTabPlacement :: !HorizontalTabPlacement
    - hTabAlignment :: !HorizontalTabsAlignment
    - hTabWidth :: !HorizontalTabWidth
    - hTabHeight :: !Dimension
    }
  - | VerticalTabs {
    - showIfSingleWindow :: !SingleTabMode
    - vTabPlacement :: !VerticalTabPlacement
    - vTabWidth :: !Dimension
    - vTabHeight :: !Dimension
    }
- data HorizontalTabPlacement
  - = Top
  - | Bottom
- data VerticalTabPlacement
  - = TabsAtLeft
  - | TabsAtRight
- data HorizontalTabWidth
  - = AutoWidth
  - | FixedWidth !Dimension
- data HorizontalTabsAlignment
  - = AlignTabsLeft
  - | AlignTabsCenter
  - | AlignTabsRight
- data SingleTabMode
  - = ShowTab
  - | HideTab

# Documentation

textTabbed #

Arguments

:: Shrinker shrinker |
=> shrinker | Strings shrinker, e.g. `shrinkText`
-> ThemeEx StandardWidget | Decoration theme
-> l Window | Layout to be decorated
-> ModifiedLayout (DecorationEx TextDecoration StandardWidget TabbedGeometry shrinker) l Window |

Add tabbed decorations (with default settings) with text-based widgets to a layout.

data TabbedGeometry a #

Constructors

HorizontalTabs |

Fields

- showIfSingleWindow :: !SingleTabMode

  What to do if there is only one tab

- hTabPlacement :: !HorizontalTabPlacement

  Where to place horizontal tabs

- hTabAlignment :: !HorizontalTabsAlignment

  How to align horizontal tabs (makes sense with fixed width of tabs).

- hTabWidth :: !HorizontalTabWidth

  Width of horizontal tabs

- hTabHeight :: !Dimension

  Height of horizontal tabs

VerticalTabs |

Fields

- showIfSingleWindow :: !SingleTabMode

  What to do if there is only one tab

- vTabPlacement :: !VerticalTabPlacement

  Where to place vertical tabs

- vTabWidth :: !Dimension

  Width of vertical tabs

- vTabHeight :: !Dimension

  Height of vertical tabs

#### Instances

Instances details

DecorationGeometry TabbedGeometry Window # |

Instance details

Defined in XMonad.Layout.DecorationEx.TabbedGeometry

Methods

describeGeometry :: TabbedGeometry Window -> String #

shrinkWindow :: TabbedGeometry Window -> Rectangle -> Rectangle -> Rectangle #

pureDecoration :: TabbedGeometry Window -> Rectangle -> Stack Window -> [(Window, Rectangle)] -> (Window, Rectangle) -> Maybe Rectangle #

decorateWindow :: TabbedGeometry Window -> Rectangle -> Stack Window -> [(Window, Rectangle)] -> (Window, Rectangle) -> X (Maybe Rectangle) #

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

data HorizontalTabPlacement #

Placement of tabs when they go horizontally: should they be placed above or below the window.

Constructors

Top |
Bottom |

#### Instances

Instances details

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

data VerticalTabPlacement #

Placement of tabs when they go vertically: should they appear at left or at right side of the window.

Constructors

TabsAtLeft |
TabsAtRight |

#### Instances

Instances details

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

data HorizontalTabWidth #

Width of tabs when they go horizontally.

Constructors

AutoWidth | Define the width automatically by evenly dividing windows' width
FixedWidth !Dimension | Use fixed width of the tab

#### Instances

Instances details

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

data HorizontalTabsAlignment #

Alignment of tabs when they go horizontally.

Constructors

AlignTabsLeft |
AlignTabsCenter |
AlignTabsRight |

#### Instances

Instances details

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

data SingleTabMode #

What to do if there is only one tab.

Constructors

ShowTab |
HideTab |

#### Instances

Instances details

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