summaryrefslogtreecommitdiffstats
path: root/XMonad.hs
diff options
context:
space:
mode:
authorDon Stewart <dons@cse.unsw.edu.au>2007-04-19 03:27:05 +0200
committerDon Stewart <dons@cse.unsw.edu.au>2007-04-19 03:27:05 +0200
commit393f376f24bda4d5dd8745d45d1ff5ef7b31aab5 (patch)
tree252fabb66dc4f148f2cad2643453eb6f1cbb87cf /XMonad.hs
parent3685be05ec480a3829383c6ac29a518f16ac1e20 (diff)
downloadmetatile-393f376f24bda4d5dd8745d45d1ff5ef7b31aab5.tar
metatile-393f376f24bda4d5dd8745d45d1ff5ef7b31aab5.zip
Parameterise StackSet by two index types, rather than breaking abstraction
darcs-hash:20070419012705-9c5c1-3aa97e02123af08c3f4500c9e9c3bb7ab4121652
Diffstat (limited to 'XMonad.hs')
-rw-r--r--XMonad.hs15
1 files changed, 10 insertions, 5 deletions
diff --git a/XMonad.hs b/XMonad.hs
index 0de51ed..9053e69 100644
--- a/XMonad.hs
+++ b/XMonad.hs
@@ -15,12 +15,11 @@
--
module XMonad (
- X, WorkSpace, XState(..), Layout(..), LayoutDesc(..),
- runX, io, withDisplay, isRoot,
- spawn, trace, whenJust, rotateLayout
+ X, WorkSpace, WorkspaceId(..), ScreenId(..), XState(..), Layout(..), LayoutDesc(..),
+ runX, io, withDisplay, isRoot, spawn, trace, whenJust, rotateLayout
) where
-import StackSet (StackSet,WorkspaceId)
+import StackSet (StackSet)
import Control.Monad.State
import System.IO
@@ -48,7 +47,13 @@ data XState = XState
-- to descriptions of their layouts
}
-type WorkSpace = StackSet Window
+type WorkSpace = StackSet WorkspaceId ScreenId Window
+
+-- | Virtual workspace indicies
+newtype WorkspaceId = W Int deriving (Eq,Ord,Show,Enum,Num,Integral,Real)
+
+-- | Physical screen indicies
+newtype ScreenId = S Int deriving (Eq,Ord,Show,Enum,Num,Integral,Real)
------------------------------------------------------------------------