xmonadの特定のワークスペースでアプリケーションを開始する


13

manageHookとcomposeAllを使用して、特定のアプリケーションを特定のワークスペースに関連付ける方法を知っています。私が探しているのは、特定のワークスペースでアプリケーションを生成する方法です。つまり、String -> workSpaceId -> X ()使用例が次のようなタイプシグネチャを持つ関数です。

spawnToWorkspace "emacs" "2:code"

回答:


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を

5

さて、実際には思ったより簡単でした:

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

1
これが機能しているように見える唯一の解決策でありspawnOn、XMonad-ContribがXMonadの新しいバージョンで壊れているようです。
eazar001
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.