XMonad在指定的工作区中启动时生成程序

时间:2012-06-11 07:33:37

标签: haskell xmonad

我正在尝试配置我的xmonad.hs,这样当我开始会话时,我会在不同的工作区启动一系列不同的程序(例如1中的终端; 2中的Firefox; 3中的Pidgin)。

我已经查看了XMonad.Actions.SpawnOn,但是当spawnOn返回X ()而不是公共m ()时,我无法在main = do ...中使用它

是否有一个函数需要X - monad并返回IO (),还是有另一种解决方法?

1 个答案:

答案 0 :(得分:10)

常见的方法是使用startupHook进行X ()操作并在每次启动时执行。 E.g。

main = xmonad $ defaultConfig
  { startupHook = do
      spawnOn "workspace1" "program1"
      …
      spawnOn "workspaceN" "programN"
  }