XMonad.Layout.HintedTile

xmonad-contrib-0.13: Third party 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 | Haskell98

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/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:

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

LayoutClass HintedTile Window # |
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) # |
Methods readsPrec :: Int -> ReadS (HintedTile a) # readList :: ReadS [HintedTile a] # readPrec :: ReadPrec (HintedTile a) # readListPrec :: ReadPrec [HintedTile a] #
Show (HintedTile a) # |
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

Eq Orientation # |
Methods (==) :: Orientation -> Orientation -> Bool # (/=) :: Orientation -> Orientation -> Bool #
Ord Orientation # |
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 #
Read Orientation # |
Methods readsPrec :: Int -> ReadS Orientation # readList :: ReadS [Orientation] # readPrec :: ReadPrec Orientation # readListPrec :: ReadPrec [Orientation] #
Show Orientation # |
Methods showsPrec :: Int -> Orientation -> ShowS # show :: Orientation -> String # showList :: [Orientation] -> ShowS #

data Alignment #

Constructors

TopLeft |
Center |
BottomRight |

Instances

Eq Alignment # |
Methods (==) :: Alignment -> Alignment -> Bool # (/=) :: Alignment -> Alignment -> Bool #
Ord Alignment # |
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 #
Read Alignment # |
Methods readsPrec :: Int -> ReadS Alignment # readList :: ReadS [Alignment] # readPrec :: ReadPrec Alignment # readListPrec :: ReadPrec [Alignment] #
Show Alignment # |
Methods showsPrec :: Int -> Alignment -> ShowS # show :: Alignment -> String # showList :: [Alignment] -> ShowS #