繁体   English   中英

XMonad 在不同工作区启动

[英]XMonad startup on different workspaces

我想在 xmonad 启动时在不同的工作区中启动一些应用程序(这很重要)。 所以,我写了以下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告诉 xmonad 将某些应用程序移动到某些桌面。

myManageHook = composeAll . concat $ [
    [ className =? "Firefox" --> doF (shiftToWs 2) ]
  , [ className =? "gvim" --> doF (shiftToWs 3) ]
  -- and so on
  ]

不过, className可能会有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM