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 | Safe-Inferred
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 Source #

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 Source #

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 Source # |

Instance details

Defined in XMonad.Layout.DecorationEx.TabbedGeometry

Methods

describeGeometry :: TabbedGeometry Window -> String Source #

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

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

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

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

data HorizontalTabPlacement Source #

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

Constructors

Top |
Bottom |

#### Instances

Instances details

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

data VerticalTabPlacement Source #

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

data HorizontalTabWidth Source #

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

data HorizontalTabsAlignment Source #

Alignment of tabs when they go horizontally.

Constructors

AlignTabsLeft |
AlignTabsCenter |
AlignTabsRight |

#### Instances

Instances details

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

data SingleTabMode Source #

What to do if there is only one tab.

Constructors

ShowTab |
HideTab |

#### Instances

Instances details

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