From 215182bbb8f3cf8e92b56371e24e1bc45ab22f88 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Wed, 5 Mar 2025 12:53:40 -0700 Subject: Ability to move multiple windows at once. --- src/Rahm/Desktop/Workspaces.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/Rahm/Desktop/Workspaces.hs') diff --git a/src/Rahm/Desktop/Workspaces.hs b/src/Rahm/Desktop/Workspaces.hs index 0c70591..49dcaae 100644 --- a/src/Rahm/Desktop/Workspaces.hs +++ b/src/Rahm/Desktop/Workspaces.hs @@ -24,7 +24,7 @@ where import Control.Arrow (Arrow ((&&&))) import Control.Monad.Trans (lift) import Control.Monad.Trans.Maybe (MaybeT (MaybeT)) -import Data.Char (isUpper, toLower, toUpper) +import Data.Char (isUpper, toLower, toUpper, chr, ord, isDigit) import Data.List (find, sort, sortBy, sortOn, (\\)) import Data.List.Safe ((!!)) import Data.Maybe (fromMaybe, mapMaybe) @@ -147,6 +147,11 @@ getScreensOnDifferentPlane ss = yCenter < y + fromIntegral h && yCenter > y accompaningWorkspace :: WorkspaceId -> WorkspaceId +accompaningWorkspace [s] + | isDigit s = show (fl (ord s - ord '0')) + where + fl x | even x = x + 1 + fl x = x - 1 accompaningWorkspace [s] = return $ if isUpper s -- cgit