aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/Workspaces.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Rahm/Desktop/Workspaces.hs')
-rw-r--r--src/Rahm/Desktop/Workspaces.hs53
1 files changed, 47 insertions, 6 deletions
diff --git a/src/Rahm/Desktop/Workspaces.hs b/src/Rahm/Desktop/Workspaces.hs
index 9ddafa5..dc9d317 100644
--- a/src/Rahm/Desktop/Workspaces.hs
+++ b/src/Rahm/Desktop/Workspaces.hs
@@ -1,17 +1,58 @@
-- Common ways to select workspaces
module Rahm.Desktop.Workspaces where
-import Control.Arrow (second, (&&&))
-import Control.Monad.Trans.Maybe
-import Data.Char (isAlphaNum, isUpper, toLower, toUpper)
+import Control.Arrow (Arrow ((&&&)))
+import Control.Monad.Trans.Maybe ()
+import Data.Char (isUpper, toLower, toUpper)
import Data.List (find, sort, sortBy, sortOn)
import Data.List.Safe ((!!))
import Data.Maybe (fromMaybe, mapMaybe)
-import Rahm.Desktop.Common
-import Rahm.Desktop.History
+import Rahm.Desktop.Common (getCurrentWorkspace, gotoWorkspace)
+import Rahm.Desktop.History ()
import qualified Rahm.Desktop.StackSet as W
+ ( Screen (Screen, screenDetail, workspace),
+ StackSet (StackSet, current, visible),
+ Workspace (Workspace, tag),
+ integrate',
+ )
import XMonad
-import Prelude hiding ((!!))
+ ( Rectangle (Rectangle),
+ ScreenDetail (SD),
+ ScreenId,
+ Window,
+ WindowSet,
+ WorkspaceId,
+ X,
+ windows,
+ withWindowSet,
+ )
+import Prelude
+ ( Bool (..),
+ Enum,
+ Eq (..),
+ Foldable (elem),
+ Functor (fmap),
+ Int,
+ Maybe (..),
+ Monad (return),
+ Ord (compare),
+ String,
+ const,
+ filter,
+ flip,
+ fst,
+ head,
+ last,
+ map,
+ maybe,
+ reverse,
+ snd,
+ ($),
+ (++),
+ (.),
+ (<$>),
+ (=<<),
+ )
newtype Selector = Selector (forall a. (a -> Bool) -> [a] -> Maybe a)