From 08aa4d905be63d7de87808f5ae0dec88e1a870d0 Mon Sep 17 00:00:00 2001 From: Joachim Breitner Date: Fri, 11 Apr 2008 15:44:11 +0200 Subject: Fix window order in EWMH For pagers to draw the stacking order correctly, the focused window has to be the last in the list. Thus put an appropriate implementation of allWindows into the Module. This does not work perfectly with floating windows. darcs-hash:20080411134411-23c07-bcc62f5377a52855c941e86d6a7eca5451bef746.gz --- XMonad/Hooks/EwmhDesktops.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/XMonad/Hooks/EwmhDesktops.hs b/XMonad/Hooks/EwmhDesktops.hs index 21f2b3c..98ae410 100644 --- a/XMonad/Hooks/EwmhDesktops.hs +++ b/XMonad/Hooks/EwmhDesktops.hs @@ -59,7 +59,6 @@ ewmhDesktopsLogHook :: X () ewmhDesktopsLogHook = withWindowSet $ \s -> do sort' <- getSortByIndex let ws = sort' $ W.workspaces s - let wins = W.allWindows s setSupported @@ -74,6 +73,8 @@ ewmhDesktopsLogHook = withWindowSet $ \s -> do setCurrentDesktop curr + -- all windows, with focused windows last + let wins = nub . concatMap (maybe [] (\(W.Stack x l r)-> reverse l ++ r ++ [x]) . W.stack) $ ws setClientList wins -- Per window Desktop -- cgit v1.2.3