mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-05-19 11:30:22 -07:00
corrected version of make workspaceDir work even in workspaces with no windows.
This commit is contained in:
parent
143e68f664
commit
c2d0a209eb
@ -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'
|
||||
|
Loading…
x
Reference in New Issue
Block a user