summaryrefslogtreecommitdiffstats
path: root/XMonad.hs
diff options
context:
space:
mode:
authorJason Creighton <jcreigh@gmail.com>2007-03-18 00:49:04 +0100
committerJason Creighton <jcreigh@gmail.com>2007-03-18 00:49:04 +0100
commit6ed3ba2d0e2cc40d1cabcb51d22a71bcecbbc851 (patch)
treed4c4759fde1bc0c5cf7827a46def25c22d5b4fff /XMonad.hs
parent32cd5baf1f5ef4b83a329fa6d335b956e5d694ec (diff)
downloadmetatile-6ed3ba2d0e2cc40d1cabcb51d22a71bcecbbc851.tar
metatile-6ed3ba2d0e2cc40d1cabcb51d22a71bcecbbc851.zip
basic xinerama support (depends on Graphics.X11.Xinerama in X11-extras)
darcs-hash:20070317234904-b9aa7-ef29cf597970298a24d770ec789f83638390d22a
Diffstat (limited to 'XMonad.hs')
-rw-r--r--XMonad.hs9
1 files changed, 8 insertions, 1 deletions
diff --git a/XMonad.hs b/XMonad.hs
index a312089..af4026d 100644
--- a/XMonad.hs
+++ b/XMonad.hs
@@ -15,7 +15,7 @@
--
module XMonad (
- X, WorkSpace, XState(..),runX,
+ X, WorkSpace, XState(..), runX,
io, withDisplay, isRoot,
spawn, trace, whenJust
) where
@@ -28,11 +28,18 @@ import System.Posix.Process (executeFile, forkProcess, getProcessStatus)
import System.Exit
import Graphics.X11.Xlib
+import Graphics.X11.Xinerama
+
+import qualified Data.Map as M
+
-- | XState, the window manager state.
-- Just the display, width, height and a window list
data XState = XState
{ display :: Display
, screen :: {-# UNPACK #-} !ScreenNumber
+ , xineScreens :: {-# UNPACK #-} ![XineramaScreenInfo]
+ -- a mapping of workspaces to xinerama screen numbers
+ , wsOnScreen :: {-# UNPACK #-} !(M.Map Int Int)
, theRoot :: {-# UNPACK #-} !Window
, wmdelete :: {-# UNPACK #-} !Atom
, wmprotocols :: {-# UNPACK #-} !Atom