diff options
Diffstat (limited to 'src/Internal/Lib.hs')
| -rw-r--r-- | src/Internal/Lib.hs | 7 |
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 |