我想让我的程序在屏幕上产生焦点,当它的键绑定不是在完成加载时当前焦点的屏幕上按下时.
为什么:
我目前的设置是Arch Linux XMonad,我让它在6台显示器上运行.我已经使用XMonad大约一年了,我唯一的问题是需要一段时间才能打开的程序.例如,我第一次启动铬时需要3个奇秒才能加载.我按下我的键绑定chrome,然后转到另一个屏幕做其他事情.但是当chrome加载时,它会加载到屏幕上,当前聚焦在屏幕上,而不是在按下生成键绑定时聚焦的屏幕上.
我的haskell技能很好……不存在.我以前在Lisp中编程并在C,python和JavaScript上花了很多时间,所以我确定如果需要的话我可以把它拿起来(所以请在答案中明确说明haskell样本).
提前致谢.
解决方法
我找到了自己问题的答案.
首先,您必须添加到您的导入:
import XMonad.Actions.SpawnOn
然后在你的主要功能下有类似的东西:
main = do xmonad $defaultConfig { manageHook = myManageHooks <+> manageSpawn <+> manageDocks <+> manageHook defaultConfig,startupHook = myStartupHook,ETC.....
这里的关键是在manageHook行中添加了manageSpawn.
然后用spawnHere替换你的产卵:
,((modMask,xK_w),spawn "chromium")
变为:
,spawnHere "chromium")