aboutsummaryrefslogtreecommitdiffstats
path: root/EwmhDesktops.hs
diff options
context:
space:
mode:
authormail <mail@joachim-breitner.de>2007-10-07 11:16:48 +0200
committermail <mail@joachim-breitner.de>2007-10-07 11:16:48 +0200
commitb636fe8472c0e306834b0c757891278bc28559fa (patch)
treeb79e0aa59f3bda7bc68289f9c8318e27b39f979a /EwmhDesktops.hs
parentb11eeded64e725997d3d341dc7ab8773001234a0 (diff)
downloadXMonadContrib-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 'EwmhDesktops.hs')
-rw-r--r--EwmhDesktops.hs16
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"
+
+