diff options
author | Don Stewart <dons@cse.unsw.edu.au> | 2007-04-19 03:27:05 +0200 |
---|---|---|
committer | Don Stewart <dons@cse.unsw.edu.au> | 2007-04-19 03:27:05 +0200 |
commit | f96b482efd7b989403a73c1ede225889009e47dd (patch) | |
tree | 252fabb66dc4f148f2cad2643453eb6f1cbb87cf /XMonad.hs | |
parent | 9478ed6fa9872e84b7d2cfe631623d0e1b890d5b (diff) | |
download | xmonad-f96b482efd7b989403a73c1ede225889009e47dd.tar.gz xmonad-f96b482efd7b989403a73c1ede225889009e47dd.tar.xz xmonad-f96b482efd7b989403a73c1ede225889009e47dd.zip |
Parameterise StackSet by two index types, rather than breaking abstraction
darcs-hash:20070419012705-9c5c1-3aa97e02123af08c3f4500c9e9c3bb7ab4121652.gz
Diffstat (limited to 'XMonad.hs')
-rw-r--r-- | XMonad.hs | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -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) ------------------------------------------------------------------------ |