我正在尝试配置我的xmonad.hs,以便当我开始我的会话时,我在不同的工作区(如终端 1 中的终端;2 中的 Firefox;3 中的 Pidgin)上启动一系列不同的程序。
我已经查看了XMonad.Actions.SpawnOn,但作为spawnOn返回X ()而不是普通的m ()我不能使用它main = do ...。
是否有一个接受X-monad 并返回的函数,IO ()或者是否有另一种解决方法?
常见的方法是使用startupHookX () ,它会在每次启动时采取行动并执行它。例如
main = xmonad $ defaultConfig
{ startupHook = do
spawnOn "workspace1" "program1"
…
spawnOn "workspaceN" "programN"
}