xmonad-contrib-0.7: Third party extensions for xmonadContentsIndex
XMonad.Actions.FlexibleManipulate
Portabilityunportable
Stabilityunstable
Maintainer<mgsloan@gmail.com>
Contents
Usage
Description
Move and resize floating windows without warping the mouse.
Synopsis
mouseWindow :: (Double -> Double) -> Window -> X ()
discrete :: Double -> Double
linear :: Double -> Double
resize :: Double -> Double
position :: Double -> Double
Usage

First, add this import to your ~/.xmonad/xmonad.hs:

 import qualified XMonad.Actions.FlexibleManipulate as Flex

Now set up the desired mouse binding, for example:

     , ((modMask x, button1), (\w -> focus w >> Flex.mouseWindow Flex.linear w))
  • Flex.linear indicates that positions between the edges and the middle indicate a combination scale/position.
  • Flex.discrete indicates that there are discrete pick regions. (The window is divided by thirds for each axis.)
  • Flex.resize performs only a resize of the window, based on which quadrant the mouse is in.
  • Flex.position is similar to the built-in mouseMoveWindow.

You can also write your own function for this parameter. It should take a value between 0 and 1 indicating position, and return a value indicating the corresponding position if plain Flex.linear was used.

For detailed instructions on editing your mouse bindings, see XMonad.Doc.Extending#Editing_mouse_bindings.

mouseWindow :: (Double -> Double) -> Window -> X ()
Given an interpolation function, implement an appropriate window manipulation action.
discrete :: Double -> Double
linear :: Double -> Double
resize :: Double -> Double
position :: Double -> Double
Produced by Haddock version 0.8