XMonad.Layout.Magnifier

xmonad-contrib-0.12: Third party extensions for xmonad

Copyright | (c) Peter De Wachter and Andrea Rossato 2007
License | BSD-style (see xmonad/LICENSE)
Maintainer | andrea.rossato@unibz.it
Stability | unstable
Portability | unportable
Safe Haskell | None
Language | Haskell98

XMonad.Layout.Magnifier

Contents

- Usage

Description

Screenshot : http://caladan.rave.org/magnifier.png

This is a layout modifier that will make a layout increase the size of the window that has focus.

Synopsis

- magnifier :: l a -> ModifiedLayout Magnifier l a
- magnifier' :: l a -> ModifiedLayout Magnifier l a
- magnifierOff :: l a -> ModifiedLayout Magnifier l a
- magnifiercz :: Rational -> l a -> ModifiedLayout Magnifier l a
- magnifiercz' :: Rational -> l a -> ModifiedLayout Magnifier l a
- maximizeVertical :: l a -> ModifiedLayout Magnifier l a
- data MagnifyMsg
  - = MagnifyMore
  - | MagnifyLess
  - | ToggleOn
  - | ToggleOff
  - | Toggle
- data Magnifier a

# Usage

You can use this module with the following in your `~/.xmonad/xmonad.hs`:

    import XMonad.Layout.Magnifier

Then edit your `layoutHook` by adding the `magnifier` layout modifier to some layout:

    myLayout = magnifier (Tall 1 (3/100) (1/2))  ||| Full ||| etc..
    main = xmonad def { layoutHook = myLayout }

By default magnifier increases the focused window's size by 1.5. You can also use:

    magnifiercz 1.2

to use a custom level of magnification. You can even make the focused window smaller for a pop in effect.

For more detailed instructions on editing the layoutHook see:

XMonad.Doc.Extending

Magnifier supports some commands. To use them add something like this to your key bindings:

       , ((modm .|. controlMask              , xK_plus ), sendMessage MagnifyMore)
       , ((modm .|. controlMask              , xK_minus), sendMessage MagnifyLess)
       , ((modm .|. controlMask              , xK_o    ), sendMessage ToggleOff  )
       , ((modm .|. controlMask .|. shiftMask, xK_o    ), sendMessage ToggleOn   )
       , ((modm .|. controlMask              , xK_m    ), sendMessage Toggle     )

Note that a few other extension modules, such as XMonad.Layout.MultiToggle and XMonad.Layout.ToggleLayouts, also define a message named `Toggle`. To avoid conflicts when using these modules together, you can import Magnifier qualified, like this:

    import qualified XMonad.Layout.Magnifier as Mag

and then prefix `Mag` to the front of everything from this module, like `Mag.Toggle`, `Mag.magnifier`, and so on.

For detailed instruction on editing the key binding see XMonad.Doc.Extending.

magnifier :: l a -> ModifiedLayout Magnifier l a

Increase the size of the window that has focus

magnifier' :: l a -> ModifiedLayout Magnifier l a

Increase the size of the window that has focus, unless if it is the master window.

magnifierOff :: l a -> ModifiedLayout Magnifier l a

Magnifier that defaults to Off

magnifiercz :: Rational -> l a -> ModifiedLayout Magnifier l a

Change the size of the window that has focus by a custom zoom

magnifiercz' :: Rational -> l a -> ModifiedLayout Magnifier l a

Increase the size of the window that has focus by a custom zoom, unless if it is the master window.

maximizeVertical :: l a -> ModifiedLayout Magnifier l a

A magnifier that greatly magnifies just the vertical direction

data MagnifyMsg

Constructors

MagnifyMore |
MagnifyLess |
ToggleOn |
ToggleOff |
Toggle |

Instances

Message MagnifyMsg |

data Magnifier a

Instances

LayoutModifier Magnifier Window |
Read (Magnifier a) |
Show (Magnifier a) |