From 1d81bb032c0e03e156fbf9c583ed76f9daba6d18 Mon Sep 17 00:00:00 2001 From: David Roundy Date: Wed, 26 Mar 2008 16:27:08 +0100 Subject: UNDO: make workspaceDir work even in workspaces with no windows. This also fixes a (minor) bug when the focussed window is present on multiple visible workspaces. darcs-hash:20080326152708-72aca-5cb04df4f522b8252ec0980945b4e77381a4bf70.gz --- XMonad/Layout/WorkspaceDir.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'XMonad/Layout/WorkspaceDir.hs') diff --git a/XMonad/Layout/WorkspaceDir.hs b/XMonad/Layout/WorkspaceDir.hs index e999c41..f550f46 100644 --- a/XMonad/Layout/WorkspaceDir.hs +++ b/XMonad/Layout/WorkspaceDir.hs @@ -69,9 +69,9 @@ instance Message Chdir data WorkspaceDir a = WorkspaceDir String deriving ( Read, Show ) instance LayoutModifier WorkspaceDir Window where - modifyLayout (WorkspaceDir d) w r = do tc <- gets (tag . current . windowset) - when (tc == tag w) $ scd d - runLayout w r + redoLayout (WorkspaceDir d) _ s wrs = do w <- gets windowset + when (Just (focus s) == peek w) $ scd d + return (wrs, Nothing) handleMess (WorkspaceDir _) m | Just (Chdir wd) <- fromMessage m = do wd' <- cleanDir wd return $ Just $ WorkspaceDir wd' -- cgit v1.2.3