Copyright | (c) Jan Vornberger 2009 |
---|---|
License | BSD3-style (see LICENSE) |
Maintainer | jan.vornberger@informatik.uni-oldenburg.de |
Stability | unstable |
Portability | not portable |
Safe Haskell | None |
Language | Haskell2010 |
XMonad.Layout.MouseResizableTile
Contents
Description
A layout in the spirit of XMonad.Layout.ResizableTile, but with the option to use the mouse to adjust the layout.
Synopsis
- mouseResizableTile :: MouseResizableTile a
- mouseResizableTileMirrored :: MouseResizableTile a
- data MRTMessage
- nmaster :: MouseResizableTile a -> Int
- masterFrac :: MouseResizableTile a -> Rational
- slaveFrac :: MouseResizableTile a -> Rational
- fracIncrement :: MouseResizableTile a -> Rational
- isMirrored :: MouseResizableTile a -> Bool
- draggerType :: MouseResizableTile a -> DraggerType
- data DraggerType
- = FixedDragger { }
- | BordersDragger
- data MouseResizableTile a
Usage
You can use this module with the following in your xmonad.hs
:
import XMonad.Layout.MouseResizableTile
Then edit your layoutHook
by adding the MouseResizableTile layout.
Either in its normal form or the mirrored version. (The mirror layout modifier
will not work correctly here because of the use of the mouse.)
myLayout = mouseResizableTile ||| etc.. main = xmonad def { layoutHook = myLayout }
For more detailed instructions on editing the layoutHook see the tutorial and XMonad.Doc.Extending.
You may also want to add the following key bindings:
, ((modm, xK_u), sendMessage ShrinkSlave) -- %! Shrink a slave area , ((modm, xK_i), sendMessage ExpandSlave) -- %! Expand a slave area
For detailed instruction on editing the key binding see:
mouseResizableTileMirrored :: MouseResizableTile a #
May be removed in favor of mouseResizableTile { isMirrored = True }
data MRTMessage #
Constructors
SetMasterFraction Rational | |
SetLeftSlaveFraction Int Rational | |
SetRightSlaveFraction Int Rational | |
ShrinkSlave | |
ExpandSlave |
Instances
Message MRTMessage # | |
Defined in XMonad.Layout.MouseResizableTile |
Parameters
The following functions are also labels for updating the data
(whose
representation is otherwise hidden) produced by mouseResizableTile
.
Usage:
myLayout = mouseResizableTile{ masterFrac = 0.7, fracIncrement = 0.05, draggerType = BordersDragger } ||| etc..
nmaster :: MouseResizableTile a -> Int #
Get/set the number of windows in master pane (default: 1).
masterFrac :: MouseResizableTile a -> Rational #
Get/set the proportion of screen occupied by master pane (default: 1/2).
slaveFrac :: MouseResizableTile a -> Rational #
Get/set the proportion of remaining space in a column occupied by a slave window (default: 1/2).
fracIncrement :: MouseResizableTile a -> Rational #
Get/set the increment used when modifying masterFrac/slaveFrac by the Shrink, Expand, etc. messages (default: 3/100).
isMirrored :: MouseResizableTile a -> Bool #
Get/set whether the layout is mirrored (default: False).
draggerType :: MouseResizableTile a -> DraggerType #
Get/set dragger and gap dimensions (default: FixedDragger 6 6).
data DraggerType #
Specifies the size of the clickable area between windows.
Constructors
FixedDragger | |
Fields
| |
BordersDragger | no gaps, draggers overlap window borders |
Instances
Read DraggerType # | |
Defined in XMonad.Layout.MouseResizableTile Methods readsPrec :: Int -> ReadS DraggerType # readList :: ReadS [DraggerType] # readPrec :: ReadPrec DraggerType # readListPrec :: ReadPrec [DraggerType] # | |
Show DraggerType # | |
Defined in XMonad.Layout.MouseResizableTile Methods showsPrec :: Int -> DraggerType -> ShowS # show :: DraggerType -> String # showList :: [DraggerType] -> ShowS # |
data MouseResizableTile a #