mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-08-01 12:41:52 -07:00
Move EWMH support initialization to a startupHook
Set EWMH support atoms and the window manager name in a startup hook, rather than in the log hook: the log hook occurs far too frequently for it to make sense to set constants with it.
This commit is contained in:
@@ -170,7 +170,6 @@ desktopConfig = defaultConfig
|
||||
{ logHook = ewmhDesktopsLogHook
|
||||
, layoutHook = desktopLayoutModifiers $ layoutHook defaultConfig
|
||||
, manageHook = manageHook defaultConfig <+> manageDocks
|
||||
, startupHook = setDefaultCursor xC_left_ptr
|
||||
, handleEventHook = ewmhDesktopsEventHook
|
||||
, keys = \c -> desktopKeys c `M.union` keys defaultConfig c }
|
||||
|
||||
|
@@ -43,7 +43,7 @@ import XMonad.Actions.CycleWS ( moveTo, WSType( HiddenNonEmptyWS ),
|
||||
Direction1D( Prev, Next) )
|
||||
|
||||
import XMonad.Hooks.ManageDocks ( avoidStruts, manageDocks )
|
||||
import XMonad.Hooks.EwmhDesktops ( ewmhDesktopsLogHook,
|
||||
import XMonad.Hooks.EwmhDesktops ( ewmhDesktopsStartup, ewmhDesktopsLogHook,
|
||||
ewmhDesktopsEventHook )
|
||||
|
||||
myXPConfig :: XPConfig
|
||||
@@ -132,6 +132,7 @@ config = defaultConfig
|
||||
--mosaic 0.25 0.5
|
||||
, manageHook = manageHook defaultConfig <+> manageDocks -- add panel-handling
|
||||
, logHook = ewmhDesktopsLogHook -- actually, no logging here, just other stuff
|
||||
, startupHook = ewmhDesktopsStartup
|
||||
, terminal = "xterm" -- The preferred terminal program.
|
||||
, normalBorderColor = "#222222" -- Border color for unfocused windows.
|
||||
, focusedBorderColor = "#00ff00" -- Border color for focused windows.
|
||||
|
@@ -36,6 +36,7 @@ sjanssenConfig = do
|
||||
, keys = \c -> mykeys sp c `M.union` keys defaultConfig c
|
||||
, layoutHook = modifiers layouts
|
||||
, logHook = ewmhDesktopsLogHook
|
||||
, startupHook = ewmhDesktopsStartup
|
||||
, manageHook = composeAll [className =? x --> doShift w
|
||||
| (x, w) <- [ ("Firefox", "web")
|
||||
, ("Ktorrent", "7")
|
||||
|
@@ -15,6 +15,7 @@
|
||||
module XMonad.Hooks.EwmhDesktops (
|
||||
-- * Usage
|
||||
-- $usage
|
||||
ewmhDesktopsStartup,
|
||||
ewmhDesktopsLogHook,
|
||||
ewmhDesktopsLogHookCustom,
|
||||
ewmhDesktopsEventHook
|
||||
@@ -38,26 +39,18 @@ import XMonad.Util.WorkspaceCompare
|
||||
-- > import XMonad
|
||||
-- > import XMonad.Hooks.EwmhDesktops
|
||||
-- >
|
||||
-- > myLogHook :: X ()
|
||||
-- > myLogHook = ewmhDesktopsLogHook
|
||||
-- >
|
||||
-- > myHandleEventHook = ewmhDesktopsEventHook
|
||||
-- >
|
||||
-- > main = xmonad defaultConfig { handleEventHook = myHandleEventHook, logHook = myLogHook }
|
||||
-- > main = xmonad defaultConfig { startupHook = ewmhDesktopsStartup
|
||||
-- > , handleEventHook = ewmhDesktopsEventHook
|
||||
-- > , logHook = ewmhDesktopsLogHook }
|
||||
--
|
||||
-- 'avoidStruts' is used to automatically leave space for dock programs, and
|
||||
-- can be found in 'XMonad.Hooks.ManageDocks'.
|
||||
--
|
||||
-- For more detailed instructions on editing the layoutHook see:
|
||||
--
|
||||
-- "XMonad.Doc.Extending#The_log_hook_and_external_status_bars"
|
||||
--
|
||||
-- For more detailed instructions on editing the layoutHook see:
|
||||
--
|
||||
-- "XMonad.Doc.Extending#Editing_the_layout_hook"
|
||||
|
||||
-- You may also be interested in 'avoidStruts' from XMonad.Hooks.ManageDocks.
|
||||
|
||||
|
||||
-- |
|
||||
-- Initializes EwmhDesktops and advertises EWMH support to the X
|
||||
-- server
|
||||
ewmhDesktopsStartup :: X ()
|
||||
ewmhDesktopsStartup = setSupported
|
||||
|
||||
-- |
|
||||
-- Notifies pagers and window lists, such as those in the gnome-panel
|
||||
@@ -65,7 +58,6 @@ import XMonad.Util.WorkspaceCompare
|
||||
ewmhDesktopsLogHook :: X ()
|
||||
ewmhDesktopsLogHook = ewmhDesktopsLogHookCustom id
|
||||
|
||||
|
||||
-- |
|
||||
-- Generalized version of ewmhDesktopsLogHook that allows an arbitrary
|
||||
-- user-specified function to transform the workspace list (post-sorting)
|
||||
@@ -74,8 +66,6 @@ ewmhDesktopsLogHookCustom f = withWindowSet $ \s -> do
|
||||
sort' <- getSortByIndex
|
||||
let ws = f $ sort' $ W.workspaces s
|
||||
|
||||
setSupported
|
||||
|
||||
-- Number of Workspaces
|
||||
setNumberOfDesktops (length ws)
|
||||
|
||||
|
Reference in New Issue
Block a user