aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Actions/CopyWindow.hs
diff options
context:
space:
mode:
authorAdam Vogt <vogt.adam@gmail.com>2011-03-01 04:37:36 +0100
committerAdam Vogt <vogt.adam@gmail.com>2011-03-01 04:37:36 +0100
commit3fc026de3c1a7acc8a8d4a1be98401e519abcf9b (patch)
tree9c7bb9b93563bfd4ead0143184b71d885e6a6aa9 /XMonad/Actions/CopyWindow.hs
parent21547435014507058b0f1c921431b608a897193d (diff)
downloadXMonadContrib-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 'XMonad/Actions/CopyWindow.hs')
-rw-r--r--XMonad/Actions/CopyWindow.hs4
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]