aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/Keys
diff options
context:
space:
mode:
Diffstat (limited to 'src/Rahm/Desktop/Keys')
-rw-r--r--src/Rahm/Desktop/Keys/Wml.hs21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/Rahm/Desktop/Keys/Wml.hs b/src/Rahm/Desktop/Keys/Wml.hs
index 0c09fd1..792ff74 100644
--- a/src/Rahm/Desktop/Keys/Wml.hs
+++ b/src/Rahm/Desktop/Keys/Wml.hs
@@ -93,7 +93,7 @@ import Rahm.Desktop.History
)
import Rahm.Desktop.Keys.KeyFeed
import Rahm.Desktop.Layout.PinWindow (pinnedWindows)
-import Rahm.Desktop.Logger (LogLevel (Info, Trace), logs)
+import Rahm.Desktop.Logger
import Rahm.Desktop.Marking
( farLeftWindow,
farRightWindow,
@@ -105,14 +105,6 @@ import Rahm.Desktop.Marking
import qualified Rahm.Desktop.StackSet as W
import Rahm.Desktop.Submap (mapNextStringWithKeysym)
import Rahm.Desktop.Workspaces
- ( accompaningWorkspace,
- adjacentWorkspace,
- adjacentWorkspaceNotVisible,
- getHorizontallyOrderedScreens,
- next,
- prev,
- workspaceWithWindow,
- )
import Rahm.Desktop.XMobarLog.PendingBuffer
( addStringToPendingBuffer,
setPendingBuffer,
@@ -474,12 +466,21 @@ readNextWorkspace =
screens <-
liftXToFeed $
map (W.tag . W.workspace . snd)
- <$> withWindowSet (return . getHorizontallyOrderedScreens)
+ <$> withWindowSet (return . getScreensOnSamePlane)
let (_, rest) = break ((== workspaceName ws) . Just) (screens ++ screens)
justWorkspace <$> hoistMaybe (head $ tail rest)
+ -- Workspace on the screen above the current workspace..
+ (_, _, "+") -> do
+ screens <-
+ liftXToFeed $
+ map (W.tag . W.workspace . snd)
+ <$> withWindowSet (return . getScreensOnDifferentPlane)
+
+ justWorkspace <$> hoistMaybe (head screens)
+
-- Workspace to the next screen to the left of the next workspace.
(_, _, ";") -> do
ws <- readNextWorkspace