Portability | unportable |
---|---|
Stability | unstable |
Maintainer | Peter De Wachter <pdewacht@gmail.com> |
Automagically put the focused window in the master area.
- magicFocus :: l a -> ModifiedLayout MagicFocus l a
- promoteWarp :: Event -> X All
- promoteWarp' :: PointerPosition -> Event -> X All
- followOnlyIf :: X Bool -> Event -> X All
- disableFollowOnWS :: [WorkspaceId] -> X Bool
Usage
You can use this module with the following in your ~/.xmonad/xmonad.hs
:
import XMonad.Layout.MagicFocus
Then edit your layoutHook
by adding the magicFocus layout
modifier:
myLayout = magicFocus (Tall 1 (3/100) (1/2)) ||| Full ||| etc.. main = xmonad defaultConfig { layoutHook = myLayout, handleEventHook = promoteWarp }
For more detailed instructions on editing the layoutHook see:
magicFocus :: l a -> ModifiedLayout MagicFocus l aSource
Create a new layout which automagically puts the focused window in the master area.
promoteWarp :: Event -> X AllSource
An eventHook that overrides the normal focusFollowsMouse. When the mouse it moved to another window, that window is replaced as the master, and the mouse is warped to inside the new master.
It prevents infinite loops when focusFollowsMouse is true (the default), and MagicFocus is in use when changing focus with the mouse.
This eventHook does nothing when there are floating windows on the current workspace.
promoteWarp' :: PointerPosition -> Event -> X AllSource
promoteWarp' allows you to specify an arbitrary PointerPosition to apply when the mouse enters another window.
followOnlyIf :: X Bool -> Event -> X AllSource
Another event hook to override the focusFollowsMouse and make the pointer only follow if a given condition is satisfied. This could be used to disable focusFollowsMouse only for given workspaces or layouts. Beware that your focusFollowsMouse setting is ignored if you use this event hook.
disableFollowOnWS :: [WorkspaceId] -> X BoolSource
Disables focusFollow on the given workspaces: