xmonad-contrib-0.17.1: Community-maintained extensions for xmonad
Copyright(c) Jan Vornberger 2009
LicenseBSD3-style (see LICENSE)
Maintainerjan.vornberger@informatik.uni-oldenburg.de
Stabilityunstable
Portabilitynot portable
Safe HaskellSafe-Inferred
LanguageHaskell2010

XMonad.Layout.MouseResizableTile

Description

A layout in the spirit of XMonad.Layout.ResizableTile, but with the option to use the mouse to adjust the layout.

Synopsis

Usage

You can use this module with the following in your ~/.xmonad/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:

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:

XMonad.Doc.Extending.

mouseResizableTileMirrored :: MouseResizableTile a Source #

May be removed in favor of mouseResizableTile { isMirrored = True }

data MRTMessage Source #

Constructors

ShrinkSlave 
ExpandSlave 

Instances

Instances details
Message MRTMessage Source # 
Instance details

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 Source #

Get/set the number of windows in master pane (default: 1).

masterFrac :: MouseResizableTile a -> Rational Source #

Get/set the proportion of screen occupied by master pane (default: 1/2).

slaveFrac :: MouseResizableTile a -> Rational Source #

Get/set the proportion of remaining space in a column occupied by a slave window (default: 1/2).

fracIncrement :: MouseResizableTile a -> Rational Source #

Get/set the increment used when modifying masterFrac/slaveFrac by the Shrink, Expand, etc. messages (default: 3/100).

isMirrored :: MouseResizableTile a -> Bool Source #

Get/set whether the layout is mirrored (default: False).

draggerType :: MouseResizableTile a -> DraggerType Source #

Get/set dragger and gap dimensions (default: FixedDragger 6 6).

data DraggerType Source #

Specifies the size of the clickable area between windows.

Constructors

FixedDragger 

Fields

BordersDragger

no gaps, draggers overlap window borders