corrected version of make workspaceDir work even in workspaces with no windows.

This commit is contained in:
David Roundy 2008-03-27 14:22:57 +00:00
parent 143e68f664
commit c2d0a209eb

View File

@ -37,7 +37,7 @@ import XMonad.Util.Run ( runProcessWithInput )
import XMonad.Prompt ( XPConfig )
import XMonad.Prompt.Directory ( directoryPrompt )
import XMonad.Layout.LayoutModifier
import XMonad.StackSet ( Stack, peek, focus )
import XMonad.StackSet ( tag, current, workspace )
-- $usage
-- You can use this module with the following in your @~\/.xmonad\/xmonad.hs@:
@ -69,9 +69,9 @@ instance Message Chdir
data WorkspaceDir a = WorkspaceDir String deriving ( Read, Show )
instance LayoutModifier WorkspaceDir Window where
redoLayout (WorkspaceDir d) _ s wrs = do w <- gets windowset
when (Just (focus s) == peek w) $ scd d
return (wrs, Nothing)
modifyLayout (WorkspaceDir d) w r = do tc <- gets (tag.workspace.current.windowset)
when (tc == tag w) $ scd d
runLayout w r
handleMess (WorkspaceDir _) m
| Just (Chdir wd) <- fromMessage m = do wd' <- cleanDir wd
return $ Just $ WorkspaceDir wd'