在xmonad中的特定工作区上启动应用程序


13

我知道如何使用manageHook和composeAll将特定的应用程序与特定的工作区相关联。我正在寻找的是一种在特定工作空间上生成应用程序的方法,即具有类型签名String -> workSpaceId -> X ()的函数,其示例用法如下所示:

spawnToWorkspace "emacs" "2:code"

Answers:


9

这样做的更正确的方法(并且是现代的;我不认为SpawnOn当时是在发布的XMonad中使用的,很多不错的东西只是在darcs中)。

import XMonad.Actions.SpawnOn

然后使用动作

spawnOn "2:code" "emacs"

有关详细信息,请参见http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-SpawnOn.html


6
这仍然有效吗?我在xmonad 0.10上,使用spawnOn似乎仍然只是在当前工作空间上生成应用程序……
bhh1988

5

好的,实际上比我想象的要容易:

spawnToWorkspace :: String -> String -> X ()
spawnToWorkspace program workspace = do
                                      spawn program     
                                      windows $ W.greedyView workspace

1
这是唯一可行的解​​决方案,似乎spawnOnXMonad-Contrib的XMonad版本已被破坏。
eazar001 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.