summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--XMonad.hs24
-rw-r--r--xmonad.cabal2
2 files changed, 14 insertions, 12 deletions
diff --git a/XMonad.hs b/XMonad.hs
index afe2512..9c983e6 100644
--- a/XMonad.hs
+++ b/XMonad.hs
@@ -33,18 +33,20 @@ 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 #-} ![Rectangle]
+ { display :: Display
+ , screen :: !ScreenNumber
+
+ , xineScreens :: ![Rectangle]
-- a mapping of workspaces to xinerama screen numbers
- , wsOnScreen :: {-# UNPACK #-} !(M.Map Int Int)
- , theRoot :: {-# UNPACK #-} !Window
- , wmdelete :: {-# UNPACK #-} !Atom
- , wmprotocols :: {-# UNPACK #-} !Atom
- , dimensions :: {-# UNPACK #-} !(Int,Int)
- , workspace :: {-# UNPACK #-} !WorkSpace -- ^ workspace list
- , defaultLayoutDesc :: {-# UNPACK #-} !LayoutDesc
- , layoutDescs :: {-# UNPACK #-} !(M.Map Int LayoutDesc)
+
+ , wsOnScreen :: !(M.Map Int Int)
+ , theRoot :: !Window
+ , wmdelete :: !Atom
+ , wmprotocols :: !Atom
+ , dimensions :: !(Int,Int)
+ , workspace :: !WorkSpace -- ^ workspace list
+ , defaultLayoutDesc :: !LayoutDesc
+ , layoutDescs :: !(M.Map Int LayoutDesc)
-- ^ mapping of workspaces to descriptions of their layouts
}
diff --git a/xmonad.cabal b/xmonad.cabal
index 7b81a16..60af254 100644
--- a/xmonad.cabal
+++ b/xmonad.cabal
@@ -11,6 +11,6 @@ build-depends: base>=1.0, X11>=1.1, X11-extras==0.0, mtl==1.0, unix>=1.0
executable: xmonad
main-is: Main.hs
-ghc-options: -O2 -Wall -optl-Wl,-s
+ghc-options: -funbox-strict-fields -O2 -Wall -optl-Wl,-s
-- ghc-options: -O2 -Wall -optl-Wl,-s -prof -auto-all
extensions: GeneralizedNewtypeDeriving