我想在 xmonad start 上启动不同工作区中的一些应用程序(这很重要)。所以,我写了以下内容startupHook
:
startupApps :: [String]
startupApps = ["konsole", "emacs", "firefox", "gvim", "konsole"]
startupSpawn :: X ()
startupSpawn = zipWithM_ id (map (spawnOn . show) [1..]) startupApps
但是,它会在第一个工作区中生成所有应用程序。这似乎是更普遍问题的一部分——如果我启动应用程序,它不是在实际启动时获得工作空间,而是在加载时获得工作空间。
因此,如果我在 WS1 上启动 Firefox,然后切换到 WS2,Firefox 将在 WS2 上生成。
然而,对于我的意图我能做什么呢?
您可以使用manageHook http://xmonad.org/xmonad-docs/xmonad/XMonad-ManageHook.html告诉 xmonad 将某些应用程序移动到某些桌面。
myManageHook = composeAll . concat $ [
[ className =? "Firefox" --> doF (shiftToWs 2) ]
, [ className =? "gvim" --> doF (shiftToWs 3) ]
-- and so on
]
The className
不过,s 可能会有所不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)