我尝试编写一个xmonad.hs文件,在启动时在一些工作区启动一些应用程序。其中一些应用程序(例如
这个问题以前已经被问过几次,例如这里、这里,并且在XMonad FAQ上也有间接提到。
然而,这些依赖于:
1. 使用来自
相关地,API让我惊讶的是,它不允许我启动一个应用程序,然后给我一个对该应用程序/窗口的引用(潜在地带有超时);以便我可以有信心将该应用程序/窗口发送到一个工作区。
非常感谢任何帮助。
atop
)将在终端中运行(我更喜欢的是urxvt
)。这个问题以前已经被问过几次,例如这里、这里,并且在XMonad FAQ上也有间接提到。
然而,这些依赖于:
1. 使用来自
XMonad.Actions.SpawnOn
的spawnOn
,它根本不起作用(使用urxvt
进行测试,以及xclock
作为简单的示例);它被发送到当前工作区。
2. 使用spawn prog >> windows $ greedyView <workspace>
,这种方法有重大的时间问题——例如,如果您连续运行两个具有不同工作区的程序,则这两个程序都会出现在后一个工作区。就我而言,我尝试使用threaddelay
来帮助;即使在间隔为10秒的情况下(我记得threadDelay
是以微秒为单位的,所以使用了10000000),它也没有产生任何明显的差异。
3. 依赖通用挂钩来启动程序——这意味着无论何时启动它们,它们都会被发送到给定的工作区。这不是我想要的;我只想在启动时将它们放在那里。相关地,API让我惊讶的是,它不允许我启动一个应用程序,然后给我一个对该应用程序/窗口的引用(潜在地带有超时);以便我可以有信心将该应用程序/窗口发送到一个工作区。
非常感谢任何帮助。
spawnOn
正是你所需要的。我建议你去调查一下为什么它不工作。或许可以提出另一个问题,同时提供 MVCE(https://stackoverflow.com/help/reprex)? - Chris Stryczynski