diff options
author | Adam Vogt <vogt.adam@gmail.com> | 2011-03-01 04:37:36 +0100 |
---|---|---|
committer | Adam Vogt <vogt.adam@gmail.com> | 2011-03-01 04:37:36 +0100 |
commit | 3fc026de3c1a7acc8a8d4a1be98401e519abcf9b (patch) | |
tree | 9c7bb9b93563bfd4ead0143184b71d885e6a6aa9 /XMonad/Actions | |
parent | 21547435014507058b0f1c921431b608a897193d (diff) | |
download | XMonadContrib-3fc026de3c1a7acc8a8d4a1be98401e519abcf9b.tar.gz XMonadContrib-3fc026de3c1a7acc8a8d4a1be98401e519abcf9b.tar.xz XMonadContrib-3fc026de3c1a7acc8a8d4a1be98401e519abcf9b.zip |
Fix xinerama workspace swapping with A.CopyWindow.killAllOtherCopies
Ignore-this: de5727d1248d94447c4634a05a90d1cc
Spotted by arlinius in #xmonad, and this only shows up for xinerama setups.
Using an algorithm that scales better with number of workspaces would probably
be shorter too (visiting them in turn, rather than doing random access), but
probably not worth the effort.
darcs-hash:20110301033736-1499c-682fd02d5794573ba2076878a625819d22b2ecb6.gz
Diffstat (limited to '')
-rw-r--r-- | XMonad/Actions/CopyWindow.hs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/XMonad/Actions/CopyWindow.hs b/XMonad/Actions/CopyWindow.hs index 49fa30c..191c17f 100644 --- a/XMonad/Actions/CopyWindow.hs +++ b/XMonad/Actions/CopyWindow.hs @@ -145,7 +145,9 @@ killAllOtherCopies = do ss <- gets windowset delFromAllButCurrent w ss = foldr ($) ss $ map (delWinFromWorkspace w . W.tag) $ W.hidden ss ++ map W.workspace (W.visible ss) - delWinFromWorkspace w wid = W.modify Nothing (W.filter (/= w)) . W.view wid + delWinFromWorkspace w wid = viewing wid $ W.modify Nothing (W.filter (/= w)) + + viewing wis f ss = W.view (W.currentTag ss) $ f $ W.view wis ss -- | A list of hidden workspaces containing a copy of the focused window. wsContainingCopies :: X [WorkspaceId] |