aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Hooks/EwmhDesktops.hs
diff options
context:
space:
mode:
authormail <mail@joachim-breitner.de>2007-12-27 21:43:49 +0100
committermail <mail@joachim-breitner.de>2007-12-27 21:43:49 +0100
commit46fd58ad7a01800aa92556a92ffe9a2878964973 (patch)
tree6996660a2b6286bf08efff80880ccc49e096c6b5 /XMonad/Hooks/EwmhDesktops.hs
parent9c22dc4860dba0498cdc3143db56d8faf27bd0fe (diff)
downloadXMonadContrib-46fd58ad7a01800aa92556a92ffe9a2878964973.tar.gz
XMonadContrib-46fd58ad7a01800aa92556a92ffe9a2878964973.tar.xz
XMonadContrib-46fd58ad7a01800aa92556a92ffe9a2878964973.zip
display all visible windows on the current desktop in the pager
This is my best shot at modeling xmonad’s WM behaviour in a way that the Extended Window Manager Hints specification allows. Unfortunately, we can not tell the panel what size and position it should think the apps are. darcs-hash:20071227204349-c9905-d488d1719895335df5bb8bf157a266924533b27c.gz
Diffstat (limited to 'XMonad/Hooks/EwmhDesktops.hs')
-rw-r--r--XMonad/Hooks/EwmhDesktops.hs9
1 files changed, 8 insertions, 1 deletions
diff --git a/XMonad/Hooks/EwmhDesktops.hs b/XMonad/Hooks/EwmhDesktops.hs
index f831589..c112d01 100644
--- a/XMonad/Hooks/EwmhDesktops.hs
+++ b/XMonad/Hooks/EwmhDesktops.hs
@@ -68,7 +68,14 @@ ewmhDesktopsLogHook = withWindowSet $ \s -> do
setClientList wins
-- Per window Desktop
- forM_ (zip ws [(0::Int)..]) $ \(w, wn) ->
+ -- To make gnome-panel accept our xinerama stuff, we display
+ -- all visible windows on the current desktop.
+ forM_ (W.current s : W.visible s) $ \s ->
+ forM_ (W.integrate' (W.stack (W.workspace s))) $ \win -> do
+ setWindowDesktop win curr
+
+ forM_ (W.hidden s) $ \w ->
+ let wn = fromJust $ elemIndex (W.tag w) (map W.tag ws) in
forM_ (W.integrate' (W.stack w)) $ \win -> do
setWindowDesktop win wn