8

次のように、特定のプログラムを特定のワークスペースで生成するように設定できることを知っています。

myManageHook = composeAll
    [ classname =? "XTerm" --> doShift "3" ]
main = xmonad $ defaultConfig
    { manageHook = myManageHook <+> manageHook defaultConfig }

のすべてのインスタンスがXtermワークスペース "3" で生成されるようにします。私がやりたいことは、たとえば、ワークスペース「1」にいてFirefoxを起動した場合、すぐにワークスペース「2」に切り替えるように、すべての新しいプログラムを開始時にフォーカスされているワークスペースにスポーンさせることです、Firefox ウィンドウはワークスペース "1" にとどまります。

私はその効果のために何かを考えていました

import qualified XMonad.StackSet as W

myManageHook = composeAll
    [ classname =? ".*" --> doShift currentTag ]
main = xmonad $ defaultConfig
    { manageHook = myManageHook <+> manageHook defaultConfig }

これは明らかに機能しませんが、うまくいけばアイデアが得られます。

私の質問は意図的にこれと非常に似ていますが、最初にフォーカスされたワークスペースですべてのプログラムを生成したいのですが、それらを開きます (dmenu、ターミナルなどから)。

4

0 に答える 0