xmonad-contrib-0.18.0: 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 #

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 # |
Instance details Defined in XMonad.Layout.CenterMainFluid Methods runLayout :: Workspace WorkspaceId (CenterMainFluid a) a -> Rectangle -> X ([(a, Rectangle)], Maybe (CenterMainFluid a)) # doLayout :: CenterMainFluid a -> Rectangle -> Stack a -> X ([(a, Rectangle)], Maybe (CenterMainFluid a)) # pureLayout :: CenterMainFluid a -> Rectangle -> Stack a -> [(a, Rectangle)] # emptyLayout :: CenterMainFluid a -> Rectangle -> X ([(a, Rectangle)], Maybe (CenterMainFluid a)) # handleMessage :: CenterMainFluid a -> SomeMessage -> X (Maybe (CenterMainFluid a)) # pureMessage :: CenterMainFluid a -> SomeMessage -> Maybe (CenterMainFluid a) # description :: CenterMainFluid a -> String #
Read (CenterMainFluid a) # |
Instance details Defined in XMonad.Layout.CenterMainFluid Methods readsPrec :: Int -> ReadS (CenterMainFluid a) # readList :: ReadS [CenterMainFluid a] # readPrec :: ReadPrec (CenterMainFluid a) # readListPrec :: ReadPrec [CenterMainFluid a] #
Show (CenterMainFluid a) # |
Instance details Defined in XMonad.Layout.CenterMainFluid Methods showsPrec :: Int -> CenterMainFluid a -> ShowS # show :: CenterMainFluid a -> String # showList :: [CenterMainFluid a] -> ShowS #