aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Actions/CycleWS.hs
diff options
context:
space:
mode:
authorDavid Roundy <droundy@darcs.net>2008-03-08 23:37:17 +0100
committerDavid Roundy <droundy@darcs.net>2008-03-08 23:37:17 +0100
commitec371628eb4365fad23dd7f7f332c7eb2fda6ea6 (patch)
tree77fbefe3784480f13bc6bb8a66881647a72d4705 /XMonad/Actions/CycleWS.hs
parente80dd3730be99d8b349368d7e73c05ee9be3f1c3 (diff)
downloadXMonadContrib-ec371628eb4365fad23dd7f7f332c7eb2fda6ea6.tar.gz
XMonadContrib-ec371628eb4365fad23dd7f7f332c7eb2fda6ea6.tar.xz
XMonadContrib-ec371628eb4365fad23dd7f7f332c7eb2fda6ea6.zip
add HiddenNonEmptyWS to CycleWS to avoid workspaces already visible.
darcs-hash:20080308223717-72aca-4700b3f3ae28b1ceef816965bbfa7a8c9ce8fa1b.gz
Diffstat (limited to 'XMonad/Actions/CycleWS.hs')
-rw-r--r--XMonad/Actions/CycleWS.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/XMonad/Actions/CycleWS.hs b/XMonad/Actions/CycleWS.hs
index dc8db73..ac0fddb 100644
--- a/XMonad/Actions/CycleWS.hs
+++ b/XMonad/Actions/CycleWS.hs
@@ -172,6 +172,7 @@ data WSDirection = Next | Prev
-- | What type of workspaces should be included in the cycle?
data WSType = EmptyWS -- ^ cycle through empty workspaces
| NonEmptyWS -- ^ cycle through non-empty workspaces
+ | HiddenNonEmptyWS -- ^ cycle through non-empty non-visible workspaces
| AnyWS -- ^ cycle through all workspaces
| WSIs (X (WindowSpace -> Bool))
-- ^ cycle through workspaces satisfying
@@ -181,6 +182,8 @@ data WSType = EmptyWS -- ^ cycle through empty workspaces
wsTypeToPred :: WSType -> X (WindowSpace -> Bool)
wsTypeToPred EmptyWS = return (isNothing . stack)
wsTypeToPred NonEmptyWS = return (isJust . stack)
+wsTypeToPred HiddenNonEmptyWS = do hs <- gets (map tag . hidden . windowset)
+ return (\w -> isJust (stack w) && tag w `elem` hs)
wsTypeToPred AnyWS = return (const True)
wsTypeToPred (WSIs p) = p