1
1
--------------------------------------------------------------- Headers {{{
2
2
3
+ {-# LANGUAGE CPP #-}
3
4
{-# LANGUAGE DeriveDataTypeable #-}
4
5
{-# LANGUAGE EmptyDataDecls #-}
5
6
{-# LANGUAGE FlexibleContexts #-}
@@ -18,7 +19,6 @@ import qualified XMonad.Actions.CopyWindow as CW
18
19
import qualified XMonad.Actions.CycleWS as CWS
19
20
import qualified XMonad.Actions.DynamicWorkspaceGroups as ADWG
20
21
-- import qualified XMonad.Actions.DynamicWorkspaces as ADW
21
- import qualified XMonad.Actions.Eval as AE
22
22
import qualified XMonad.Actions.Submap as AS
23
23
import qualified XMonad.Actions.Warp as AW
24
24
import qualified XMonad.Actions.WithAll as AWA
@@ -39,7 +39,6 @@ import qualified XMonad.Layout.Reflect as LR
39
39
import qualified XMonad.Layout.ResizableTile as LRT
40
40
import qualified XMonad.Layout.SLS as LS
41
41
import qualified XMonad.Prompt as P
42
- import qualified XMonad.Prompt.Eval as PE
43
42
-- import qualified XMonad.Prompt.Input as PI
44
43
import qualified XMonad.Prompt.Window as PW
45
44
import qualified XMonad.StackSet as S
@@ -50,6 +49,11 @@ import qualified XMonad.Util.WindowProperties as UW
50
49
import qualified XMonad.Util.WorkspaceCompare as UWC
51
50
import qualified XMonad.Util.XRandRUtils as UXRR
52
51
52
+ #ifdef BUILD_EVAL
53
+ import qualified XMonad.Actions.Eval as AE
54
+ import qualified XMonad.Prompt.Eval as PE
55
+ #endif
56
+
53
57
54
58
import Control.Applicative ((<$>) )
55
59
import Control.Monad (ap ,when ) -- liftM2
@@ -168,6 +172,7 @@ myManageHook = composeAll $ [shift, float]
168
172
----------------------------------------------------------------------- }}}
169
173
------------------ Action.Eval configuration (including static disable) {{{
170
174
175
+ #ifdef BUILD_EVAL
171
176
myEvalConfig :: AE. EvalConfig
172
177
myEvalConfig = AE. defaultEvalConfig
173
178
{ AE. imports = [(" Prelude" ,Nothing )
@@ -190,16 +195,12 @@ myEvalConfig = AE.defaultEvalConfig
190
195
-}
191
196
192
197
evalprompt :: X ()
193
- evalprompt =
194
- if False -- Static disable to reduce the size of the executable since
195
- -- this is very rarely useful. (But when it *is* ...)
196
- then do
198
+ evalprompt = do
197
199
a <- asks (messageHook. config)
198
- -- xmd <- getXMonadDir
199
200
PE. evalPromptWithOutput myEvalConfig
200
201
P. amberXPConfig $
201
202
\ r -> when (not $ r `elem` [" ()" ," " ]) (a $ replace r " \\ n" " \n " )
202
- else return ()
203
+ #endif
203
204
204
205
----------------------------------------------------------------------- }}}
205
206
----------------------------------------------------- Keyboard handling {{{
@@ -246,8 +247,12 @@ addKeys (XConfig {modMask = modm}) =
246
247
-- for ResizableTall layouts
247
248
, ((modm .|. shiftMask, xK_l ), sendMessage LRT. MirrorShrink )
248
249
, ((modm .|. shiftMask, xK_h ), sendMessage LRT. MirrorExpand )
250
+
251
+ #ifdef BUILD_EVAL
249
252
-- mod-v %! haskell prompt, if statically enabled (is huge!)
250
253
, ((modm, xK_v ), evalprompt )
254
+ #endif
255
+
251
256
-- mod-z %! some utility commands squirreled away behind a submap
252
257
, ((modm, xK_z ), AS. submap . M. fromList $
253
258
[ ((0 , xK_b), spawn " blueman-manager" )
0 commit comments