aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Hooks/EwmhDesktops.hs
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2008-05-23 20:59:08 +0200
committerJustin Bogner <mail@justinbogner.com>2008-05-23 20:59:08 +0200
commitc8b8684dc73616d341a6f94cedea5adde0de8072 (patch)
treeee3a18832ccf51dfea2b7e5def758b718959bce0 /XMonad/Hooks/EwmhDesktops.hs
parent62228e398ad148db461eea8aa67fb84e573bb117 (diff)
downloadXMonadContrib-c8b8684dc73616d341a6f94cedea5adde0de8072.tar.gz
XMonadContrib-c8b8684dc73616d341a6f94cedea5adde0de8072.tar.xz
XMonadContrib-c8b8684dc73616d341a6f94cedea5adde0de8072.zip
add close window functionality to EwmhDesktops
darcs-hash:20080523185908-18f27-f75ad5984394063aa1fa03cb7e281f6993b840fd.gz
Diffstat (limited to 'XMonad/Hooks/EwmhDesktops.hs')
-rw-r--r--XMonad/Hooks/EwmhDesktops.hs4
1 files changed, 4 insertions, 0 deletions
diff --git a/XMonad/Hooks/EwmhDesktops.hs b/XMonad/Hooks/EwmhDesktops.hs
index 562ce7b..89599f3 100644
--- a/XMonad/Hooks/EwmhDesktops.hs
+++ b/XMonad/Hooks/EwmhDesktops.hs
@@ -123,6 +123,7 @@ handle ClientMessageEvent {
a_cd <- getAtom "_NET_CURRENT_DESKTOP"
a_d <- getAtom "_NET_WM_DESKTOP"
a_aw <- getAtom "_NET_ACTIVE_WINDOW"
+ a_cw <- getAtom "_NET_CLOSE_WINDOW"
if mt == a_cd then do
let n = fromIntegral (head d)
if 0 <= n && n < length ws then
@@ -135,6 +136,9 @@ handle ClientMessageEvent {
else trace $ "Bad _NET_DESKTOP with data[0]="++show n
else if mt == a_aw then do
windows $ W.focusWindow w
+ else if mt == a_cw then do
+ windows $ W.focusWindow w
+ kill
else trace $ "Unknown ClientMessageEvent " ++ show mt
handle _ = undefined -- does not happen, as otherwise ewmhDesktopsHook would not match