aboutsummaryrefslogtreecommitdiff
path: root/src/Internal/Lib.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Internal/Lib.hs')
-rw-r--r--src/Internal/Lib.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Internal/Lib.hs b/src/Internal/Lib.hs
index 1a1d602..c3bdeb9 100644
--- a/src/Internal/Lib.hs
+++ b/src/Internal/Lib.hs
@@ -3,6 +3,7 @@ module Internal.Lib where
import Prelude hiding ((!!))
+import XMonad.Actions.DynamicWorkspaces
import XMonad.Util.Run
import XMonad.Prompt
import XMonad.Prompt.Input
@@ -67,13 +68,17 @@ getHorizontallyOrderedScreens windowSet =
gotoWorkspace :: WorkspaceName -> X ()
gotoWorkspace ch = do
saveLastMark
+ addHiddenWorkspace [ch]
windows $ greedyView $ return ch
shiftToWorkspace :: WorkspaceName -> X ()
-shiftToWorkspace = windows . shift . return
+shiftToWorkspace ch = do
+ addHiddenWorkspace [ch]
+ (windows . shift . return) ch
swapWorkspace :: WorkspaceName -> X ()
swapWorkspace toWorkspaceName = do
+ addHiddenWorkspace [toWorkspaceName]
windows $ \ss -> do
let fromWorkspace = tag $ workspace $ current ss
toWorkspace = [toWorkspaceName] in