XMonad:SpawnOn工作区,当按下spawn键时有焦点

我想我的程序产生的焦点,当它的键绑定被按下的屏幕上,而不是在当前聚焦完成加载的屏幕上。

为什么:我目前的设置是Arch Linux + XMonad,我有6台显示器。 我一直在使用XMonad大约一年,我唯一的问题就是需要一些时间打开的程序。 例如,我第一次启动铬需要3秒钟的时间来加载。 我按我的键绑定铬,然后去不同的屏幕做别的。 但是,当铬加载它加载在屏幕上,当前焦点不在屏幕上,当按下spawn键绑定时被关注。

我的haskell技能很好…不存在。 我之前已经在Lisp中编写过程,并花费了大量的时间在C,Python和JavaScript中,所以如果需要的话,我可以把它捡起来(所以请在haskell样本的答案中清楚一点)。

提前致谢。

我找到了自己的问题的答案。

首先你必须添加到你的进口:

import XMonad.Actions.SpawnOn 

然后在你的主函数下有这样的东西:

 main = do xmonad $ defaultConfig { manageHook = myManageHooks <+> manageSpawn <+> manageDocks <+> manageHook defaultConfig , startupHook = myStartupHook , ETC..... 

这里的关键是在manageHook行中添加了manageHook

然后用spawnHere替换你的spawn

  , ((modMask, xK_w), spawn "chromium") 

变为:

  , ((modMask, xK_w), spawnHere "chromium")