XMonad.Layout.Magnifier

xmonad-contrib-0.15: 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 `MagnifyMsg`. 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 one of the master windows.

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 one of the the master windows.

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 # |
Instance details Defined in XMonad.Layout.Magnifier

data Magnifier a #

Instances

LayoutModifier Magnifier Window # |
Instance details Defined in XMonad.Layout.Magnifier Methods modifyLayout :: LayoutClass l Window => Magnifier Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X ([(Window, Rectangle)], Maybe (l Window)) # modifyLayoutWithUpdate :: LayoutClass l Window => Magnifier Window -> Workspace WorkspaceId (l Window) Window -> Rectangle -> X (([(Window, Rectangle)], Maybe (l Window)), Maybe (Magnifier Window)) # handleMess :: Magnifier Window -> SomeMessage -> X (Maybe (Magnifier Window)) # handleMessOrMaybeModifyIt :: Magnifier Window -> SomeMessage -> X (Maybe (Either (Magnifier Window) SomeMessage)) # pureMess :: Magnifier Window -> SomeMessage -> Maybe (Magnifier Window) # redoLayout :: Magnifier Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> X ([(Window, Rectangle)], Maybe (Magnifier Window)) # pureModifier :: Magnifier Window -> Rectangle -> Maybe (Stack Window) -> [(Window, Rectangle)] -> ([(Window, Rectangle)], Maybe (Magnifier Window)) # hook :: Magnifier Window -> X () # unhook :: Magnifier Window -> X () # modifierDescription :: Magnifier Window -> String # modifyDescription :: LayoutClass l Window => Magnifier Window -> l Window -> String #
Read (Magnifier a) # |
Instance details Defined in XMonad.Layout.Magnifier Methods readsPrec :: Int -> ReadS (Magnifier a) # readList :: ReadS [Magnifier a] # readPrec :: ReadPrec (Magnifier a) # readListPrec :: ReadPrec [Magnifier a] #
Show (Magnifier a) # |
Instance details Defined in XMonad.Layout.Magnifier Methods showsPrec :: Int -> Magnifier a -> ShowS # show :: Magnifier a -> String # showList :: [Magnifier a] -> ShowS #