XMonad 在不同工作区启动

2024-05-02

我想在 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(使用前将#替换为@)

XMonad 在不同工作区启动 的相关文章

随机推荐