aboutsummaryrefslogtreecommitdiffstats
path: root/WMonad.hs
diff options
context:
space:
mode:
authorDon Stewart <dons@cse.unsw.edu.au>2007-03-08 13:26:13 +0100
committerDon Stewart <dons@cse.unsw.edu.au>2007-03-08 13:26:13 +0100
commit2616c076e2b8617863a806ddfb16547bfd5015ea (patch)
tree3de2c25f67d8f01c8e842c3154928d1eee0e5abe /WMonad.hs
parent2bd7c02914eba59d1f2f39388c437e22979d5167 (diff)
downloadxmonad-2616c076e2b8617863a806ddfb16547bfd5015ea.tar.gz
xmonad-2616c076e2b8617863a806ddfb16547bfd5015ea.tar.xz
xmonad-2616c076e2b8617863a806ddfb16547bfd5015ea.zip
refactoring. heads up: depends on withServer in X11-extras
darcs-hash:20070308122613-9c5c1-9d1492a54b2186edcc3c6c5f178254a00a969a6c.gz
Diffstat (limited to 'WMonad.hs')
-rw-r--r--WMonad.hs12
1 files changed, 12 insertions, 0 deletions
diff --git a/WMonad.hs b/WMonad.hs
index 2851da2..e059066 100644
--- a/WMonad.hs
+++ b/WMonad.hs
@@ -67,6 +67,18 @@ trace msg = io $ do
hPutStrLn stderr msg
hFlush stderr
+-- | Run a monad action with the current display settings
+withDisplay :: (Display -> W ()) -> W ()
+withDisplay f = gets display >>= f
+
+-- | Run a monadic action with the display, screen width and height
+withScreen :: ((Display,Int,Int) -> W ()) -> W ()
+withScreen f = do
+ d <- gets display
+ sw <- gets screenWidth
+ sh <- gets screenHeight
+ f (d,sw,sh)
+
-- | Modify the workspace list.
modifyWorkspace :: (WorkSpace -> WorkSpace) -> W ()
modifyWorkspace f = do