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

Copyright | (c) Peter De Wachter <pdewacht@gmail.com>
License | BSD3-style (see LICENSE)
Maintainer | Peter De Wachter <pdewacht@gmail.com> Andrea Rossato <andrea.rossato@unibz.it>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell2010

XMonad.Layout.HintedTile

Contents

- Usage

Description

A gapless tiled layout that attempts to obey window size hints, rather than simply ignoring them.

Synopsis

- data HintedTile a = HintedTile {
  - nmaster :: !Int
  - delta :: !Rational
  - frac :: !Rational
  - alignment :: !Alignment
  - orientation :: !Orientation
  }
- data Orientation
  - = Wide
  - | Tall
- data Alignment
  - = TopLeft
  - | Center
  - | BottomRight

# Usage

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

    import XMonad.Layout.HintedTile

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

    myLayout = hintedTile Tall ||| hintedTile Wide ||| Full ||| etc..
      where
         hintedTile = HintedTile nmaster delta ratio TopLeft
         nmaster    = 1
         ratio      = 1/2
         delta      = 3/100
    main = xmonad def { layoutHook = myLayout }

Because both Xmonad and Xmonad.Layout.HintedTile define Tall, you need to disambiguate Tall. If you are replacing the built-in Tall with HintedTile, change `import Xmonad` to `import Xmonad hiding (Tall)`.

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

data HintedTile a #

Constructors

HintedTile |

Fields

- nmaster :: !Int

  number of windows in the master pane

- delta :: !Rational

  how much to change when resizing

- frac :: !Rational

  ratio between master/nonmaster panes

- alignment :: !Alignment

  Where to place windows that are smaller than their preordained rectangles.

- orientation :: !Orientation

  Tall or Wide (mirrored) layout?

#### Instances

Instances details

LayoutClass HintedTile Window # |

Instance details

Defined in XMonad.Layout.HintedTile

Methods

runLayout :: Workspace WorkspaceId (HintedTile Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (HintedTile Window)) #

doLayout :: HintedTile Window -> Rectangle -> Stack Window -> X ([(Window, Rectangle)], Maybe (HintedTile Window)) #

pureLayout :: HintedTile Window -> Rectangle -> Stack Window -> [(Window, Rectangle)] #

emptyLayout :: HintedTile Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (HintedTile Window)) #

handleMessage :: HintedTile Window -> SomeMessage -> X (Maybe (HintedTile Window)) #

pureMessage :: HintedTile Window -> SomeMessage -> Maybe (HintedTile Window) #

description :: HintedTile Window -> String #

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

data Orientation #

Constructors

Wide | Lay out windows similarly to Mirror tiled.
Tall | Lay out windows similarly to tiled.

#### Instances

Instances details

Read Orientation # |
Instance details Defined in XMonad.Layout.HintedTile Methods readsPrec :: Int -> ReadS Orientation # readList :: ReadS [Orientation] # readPrec :: ReadPrec Orientation # readListPrec :: ReadPrec [Orientation] #
Show Orientation # |
Instance details Defined in XMonad.Layout.HintedTile Methods showsPrec :: Int -> Orientation -> ShowS # show :: Orientation -> String # showList :: [Orientation] -> ShowS #
Eq Orientation # |
Instance details Defined in XMonad.Layout.HintedTile Methods (==) :: Orientation -> Orientation -> Bool # (/=) :: Orientation -> Orientation -> Bool #
Ord Orientation # |
Instance details Defined in XMonad.Layout.HintedTile Methods compare :: Orientation -> Orientation -> Ordering # (<) :: Orientation -> Orientation -> Bool # (<=) :: Orientation -> Orientation -> Bool # (>) :: Orientation -> Orientation -> Bool # (>=) :: Orientation -> Orientation -> Bool # max :: Orientation -> Orientation -> Orientation # min :: Orientation -> Orientation -> Orientation #

data Alignment #

Constructors

TopLeft |
Center |
BottomRight |

#### Instances

Instances details

Read Alignment # |
Instance details Defined in XMonad.Layout.HintedTile Methods readsPrec :: Int -> ReadS Alignment # readList :: ReadS [Alignment] # readPrec :: ReadPrec Alignment # readListPrec :: ReadPrec [Alignment] #
Show Alignment # |
Instance details Defined in XMonad.Layout.HintedTile Methods showsPrec :: Int -> Alignment -> ShowS # show :: Alignment -> String # showList :: [Alignment] -> ShowS #
Eq Alignment # |
Instance details Defined in XMonad.Layout.HintedTile Methods (==) :: Alignment -> Alignment -> Bool # (/=) :: Alignment -> Alignment -> Bool #
Ord Alignment # |
Instance details Defined in XMonad.Layout.HintedTile Methods compare :: Alignment -> Alignment -> Ordering # (<) :: Alignment -> Alignment -> Bool # (<=) :: Alignment -> Alignment -> Bool # (>) :: Alignment -> Alignment -> Bool # (>=) :: Alignment -> Alignment -> Bool # max :: Alignment -> Alignment -> Alignment # min :: Alignment -> Alignment -> Alignment #