我想我的程序产生的焦点,当它的键绑定被按下的屏幕上,而不是在当前聚焦完成加载的屏幕上。
为什么:我目前的设置是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")