|Maintainer||Ben Boeckel <email@example.com>|
Hook and keybindings for toggling hook behavior.
- toggleHook :: String -> ManageHook -> ManageHook
- toggleHook' :: String -> ManageHook -> ManageHook -> ManageHook
- hookNext :: String -> Bool -> X ()
- toggleHookNext :: String -> X ()
- hookAllNew :: String -> Bool -> X ()
- toggleHookAllNew :: String -> X ()
- willHook :: String -> X Bool
- willHookNext :: String -> X Bool
- willHookAllNew :: String -> X Bool
- willHookNextPP :: String -> (String -> String) -> X (Maybe String)
- willHookAllNewPP :: String -> (String -> String) -> X (Maybe String)
- runLogHook :: X ()
This module provides actions (that can be set as keybindings) to be able to cause hooks to be occur on a conditional basis.
You can use it by including the following in your
and adding 'toggleHook name hook' to your
name is the
name of the hook and
hook is the hook to execute based on the state.
myManageHook = toggleHook "float" doFloat <+> manageHook defaultConfig
Additionally, toggleHook' is provided to toggle between two hooks (rather than on/off).
myManageHook = toggleHook' "oldfocus" (const id) W.focusWindow <+> manageHook defaultConfig
, ((modm, xK_e), toggleHookNext "float")
, ((modm, xK_r), toggleHookAllNew "float")
hookNext name True arranges for the next spawned window to
have the hook
hookNext name False cancels it.
hookAllNew name True arranges for new windows to
have the hook
hookAllNew name False cancels it
Query what will happen at the next ManageHook call for the hook
The following functions are used to display the current
hookAllNew in your
willHookAllNewPP should be added
ppExtras field of your
, ((modm, xK_e), toggleHookNext "float" >> runLogHook)