我正在尝试配置我的xmonad.hs
,这样当我开始会话时,我会在不同的工作区启动一系列不同的程序(例如1中的终端; 2中的Firefox; 3中的Pidgin)。
我已经查看了XMonad.Actions.SpawnOn
,但是当spawnOn
返回X ()
而不是公共m ()
时,我无法在main = do ...
中使用它
是否有一个函数需要X
- monad并返回IO ()
,还是有另一种解决方法?
答案 0 :(得分:10)
常见的方法是使用startupHook进行X ()
操作并在每次启动时执行。
E.g。
main = xmonad $ defaultConfig
{ startupHook = do
spawnOn "workspace1" "program1"
…
spawnOn "workspaceN" "programN"
}