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

Copyright | (c) 2023 Mahdi Seyedan
License | BSD-style (see xmonad/LICENSE)
Maintainer | Mahdi Seyedan. <mahdisn78@gmail.com>
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell2010

XMonad.Layout.CenterMainFluid

Contents

- Usage

Description

A three column layout with main column in the center and two stack columns surrounding it. There will be always a pane in the center column and unoccupied spaces on the sides are reserved. It's best suited for ultrawide montiors, where a single stretched window might be annoying.

Synopsis

- data CenterMainFluid a = CenterMainFluid {
  - cmfNMaster :: !Int
  - cmfRatioIncrement :: !Rational
  - cmfRatio :: !Rational
  }

# Usage

You can use this module by adding following in your `xmonad.hs`:

    import XMonad.Layout.CenterMainFluid

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

    myLayoutHook = CenterMainFluid 1 (3/100) (70/100) ||| ...
    main = xmonad def { layoutHook = myLayout }

The first argument specifies how many windows initially appear in the center column. The second argument specifies the amount to resize while resizing and the third argument specifies the initial size of the center column.

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

data CenterMainFluid a Source #

Arguments are nmaster, delta, fraction. Supports `Shrink`, `Expand` and `IncMasterN`

Constructors

CenterMainFluid |

Fields

- cmfNMaster :: !Int

  The default number of windows in the center pane (default: 1)

- cmfRatioIncrement :: !Rational

  Percent of screen to increment by when resizing panes (default: 3/100)

- cmfRatio :: !Rational

  Default proportion of screen occupied by the center pane (default: 70/100)

#### Instances

Instances details

LayoutClass CenterMainFluid a Source # |

Instance details

Defined in XMonad.Layout.CenterMainFluid

Methods

runLayout :: Workspace WorkspaceId (CenterMainFluid a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (CenterMainFluid a)) Source #

doLayout :: CenterMainFluid a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (CenterMainFluid a)) Source #

pureLayout :: CenterMainFluid a -> Rectangle -> Stack a -> [(a, Rectangle)] Source #

emptyLayout :: CenterMainFluid a -> Rectangle -> X ([(a, Rectangle)], Maybe (CenterMainFluid a)) Source #

handleMessage :: CenterMainFluid a -> SomeMessage -> X (Maybe (CenterMainFluid a)) Source #

pureMessage :: CenterMainFluid a -> SomeMessage -> Maybe (CenterMainFluid a) Source #

description :: CenterMainFluid a -> String Source #

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