aboutsummaryrefslogtreecommitdiffstats
path: root/DynamicWorkspaces.hs
diff options
context:
space:
mode:
authorDavid Roundy <droundy@darcs.net>2007-08-20 13:38:13 +0200
committerDavid Roundy <droundy@darcs.net>2007-08-20 13:38:13 +0200
commit5edbb125958df0adadd354fae48877d36086abd5 (patch)
tree4221e1d3fa643e544fb7f37c53fe9aca84d26d7e /DynamicWorkspaces.hs
parentbf60ac7dec1866c77603dca5aec742951ec155ef (diff)
downloadXMonadContrib-5edbb125958df0adadd354fae48877d36086abd5.tar.gz
XMonadContrib-5edbb125958df0adadd354fae48877d36086abd5.tar.xz
XMonadContrib-5edbb125958df0adadd354fae48877d36086abd5.zip
make Contrib use WorkspaceId
darcs-hash:20070820113813-72aca-30984283cb9c04185fde9c89253af00e16912c10.gz
Diffstat (limited to 'DynamicWorkspaces.hs')
-rw-r--r--DynamicWorkspaces.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/DynamicWorkspaces.hs b/DynamicWorkspaces.hs
index ab8dd8f..8decab1 100644
--- a/DynamicWorkspaces.hs
+++ b/DynamicWorkspaces.hs
@@ -21,7 +21,7 @@ module XMonadContrib.DynamicWorkspaces (
import Control.Monad.State ( gets, modify )
-import XMonad ( X, XState(..), Layout, trace )
+import XMonad ( X, XState(..), Layout, WorkspaceId, trace )
import Operations ( windows, view )
import StackSet ( tagMember, StackSet(..), Screen(..), Workspace(..),
integrate, differentiate )
@@ -36,9 +36,12 @@ import Graphics.X11.Xlib ( Window )
-- > , ((modMask .|. shiftMask, xK_Up), addWorkspace defaultLayouts)
-- > , ((modMask .|. shiftMask, xK_Down), removeWorkspace)
+allPossibleTags :: [WorkspaceId]
+allPossibleTags = map (:"") ['0'..]
+
addWorkspace :: [Layout Window] -> X ()
addWorkspace (l:ls) = do s <- gets windowset
- let newtag:_ = filter (not . (`tagMember` s)) [0..]
+ let newtag:_ = filter (not . (`tagMember` s)) allPossibleTags
modify $ \st -> st { layouts = insert newtag (l,ls) $ layouts st }
windows (addWorkspace' newtag)
addWorkspace [] = trace "bad layouts in XMonadContrib.DynamicWorkspaces.addWorkspace\n"