关于xmonad的一个问题

最近一直在用xmonad作为窗口管理器, 然后考虑到自己每天开机后就要打开firefox和emacs, 所以想让这一步骤也自动化, 现在想实现的一个功能是, 开机后, 在指定的workspace中打开指定的应用。 请问有什么比较好的解决方法吗?

这个google 一下就能找到啊 haskell - XMonad spawn programs on startup in specified workspace - Stack Overflow

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

这个成不成?我没有试过 :man_shrugging:

多谢, 我回去试一下, 我google了好久都没有找到, 可能是我查询的姿势不对

我搜的是 xmonad open app on start up 一般很少用到逻辑语句啦

这么久再回复一下, 只是加spawnOn是不够的,打开的程序会挤在一个窗口中。需要再加manageSpawn才可以。

main =  xmonad $ desktopConfig {
    startupHook = do
      spawnOn "workspace1" "firefox"
      spawnOn "workspace2" "emacs"
    ,terminal = "termite"
    ,modMask = mod4Mask
    ,workspaces = myWorkspaces
    ,manageHook= manageSpawn
  } 
1 个赞