diff options
author | mail <mail@joachim-breitner.de> | 2007-10-07 11:16:48 +0200 |
---|---|---|
committer | mail <mail@joachim-breitner.de> | 2007-10-07 11:16:48 +0200 |
commit | b636fe8472c0e306834b0c757891278bc28559fa (patch) | |
tree | b79e0aa59f3bda7bc68289f9c8318e27b39f979a | |
parent | b11eeded64e725997d3d341dc7ab8773001234a0 (diff) | |
download | XMonadContrib-b636fe8472c0e306834b0c757891278bc28559fa.tar.gz XMonadContrib-b636fe8472c0e306834b0c757891278bc28559fa.tar.xz XMonadContrib-b636fe8472c0e306834b0c757891278bc28559fa.zip |
Better EWMH support
Yay, SetWMName contains just what I need! Thanks Ivan, that saved me quite
some work. Now the panel switch should work even when you start with xmonad
right away, and don’t run it after metacity has run before :-]
Greetings,
Joachim
darcs-hash:20071007091648-c9905-07a7cac149dabdffab79db3a3f12789237230e12.gz
Diffstat (limited to '')
-rw-r--r-- | EwmhDesktops.hs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/EwmhDesktops.hs b/EwmhDesktops.hs index abce277..0fbe0fa 100644 --- a/EwmhDesktops.hs +++ b/EwmhDesktops.hs @@ -27,6 +27,8 @@ import qualified StackSet as W import Graphics.X11.Xlib import Graphics.X11.Xlib.Extras +import XMonadContrib.SetWMName + -- $usage -- Add the imports to your configuration file and add the logHook: -- @@ -51,6 +53,8 @@ ewmhDesktopsLogHook = withWindowSet $ \s -> do let ws = sortBy (comparing W.tag) $ W.workspaces s let wins = W.allWindows s + setSupported + -- Number of Workspaces setNumberOfDesktops (length ws) @@ -112,3 +116,15 @@ setWindowDesktop win i = withDisplay $ \dpy -> do a <- getAtom "_NET_WM_DESKTOP" c <- getAtom "CARDINAL" io $ changeProperty32 dpy win a c propModeReplace [fromIntegral i] + +setSupported :: X () +setSupported = withDisplay $ \dpy -> do + r <- asks theRoot + a <- getAtom "_NET_SUPPORTED" + c <- getAtom "ATOM" + supp <- mapM getAtom ["_NET_WM_STATE_HIDDEN"] + io $ changeProperty32 dpy r a c propModeReplace supp + + setWMName "xmonad" + + |