From 46fd58ad7a01800aa92556a92ffe9a2878964973 Mon Sep 17 00:00:00 2001 From: mail Date: Thu, 27 Dec 2007 21:43:49 +0100 Subject: display all visible windows on the current desktop in the pager MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- XMonad/Hooks/EwmhDesktops.hs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3