From 9da78669e77b3b026bc9e18eb91fd21eaea9cbd8 Mon Sep 17 00:00:00 2001 From: Luc DUZAN Date: Thu, 22 Dec 2016 22:48:23 +0100 Subject: [PATCH] Add HiddenEmptyWS to CycleWS When I have multiscreen I think it's usefull to get the next empty workspace that is not already displayed. --- XMonad/Actions/CycleWS.hs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/XMonad/Actions/CycleWS.hs b/XMonad/Actions/CycleWS.hs index 74d9acb1..62687d76 100644 --- a/XMonad/Actions/CycleWS.hs +++ b/XMonad/Actions/CycleWS.hs @@ -239,6 +239,7 @@ data WSType = EmptyWS -- ^ cycle through empty workspaces | NonEmptyWS -- ^ cycle through non-empty workspaces | HiddenWS -- ^ cycle through non-visible workspaces | HiddenNonEmptyWS -- ^ cycle through non-empty non-visible workspaces + | HiddenEmptyWS -- ^ cycle through empty non-visible workspaces | AnyWS -- ^ cycle through all workspaces | WSTagGroup Char -- ^ cycle through workspaces in the same group, the @@ -257,6 +258,9 @@ wsTypeToPred HiddenWS = do hs <- gets (map tag . hidden . windowset) wsTypeToPred HiddenNonEmptyWS = do ne <- wsTypeToPred NonEmptyWS hi <- wsTypeToPred HiddenWS return (\w -> hi w && ne w) +wsTypeToPred HiddenEmptyWS = do ne <- wsTypeToPred EmptyWS + hi <- wsTypeToPred HiddenWS + return (\w -> hi w && ne w) wsTypeToPred AnyWS = return (const True) wsTypeToPred (WSTagGroup sep) = do cur <- (groupName.workspace.current) `fmap` gets windowset return $ (cur ==).groupName