Starten Sie Anwendungen auf bestimmten Arbeitsbereichen in xmonad


13

Ich weiß, wie ich bestimmte Anwendungen mithilfe von manageHook und composeAll bestimmten Arbeitsbereichen zuordnen kann. Was ich suche, ist eine Möglichkeit, Anwendungen auf bestimmten Arbeitsbereichen zu erzeugen, dh eine Funktion mit Typensignatur, String -> workSpaceId -> X ()deren Beispielverwendung etwa so aussehen würde:

spawnToWorkspace "emacs" "2:code"

Antworten:


9

Umso richtiger (und moderner; ich glaube nicht, dass SpawnOn damals in der veröffentlichten XMonad enthalten war, eine Menge guter Sachen waren nur in Darsi), um dies zu tun

import XMonad.Actions.SpawnOn

und dann die Aktion verwenden

spawnOn "2:code" "emacs"

Weitere Informationen finden Sie unter http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-SpawnOn.html .


6
Funktioniert das noch Ich bin auf xmonad 0.10 und spawnOn scheint immer noch nur die Anwendung auf dem aktuellen Arbeitsbereich zu
erzeugen

5

Okay, es war tatsächlich einfacher als ich dachte:

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

1
Dies ist die einzige Lösung, die zu funktionieren scheint, es scheint, dass spawnOnvon XMonad-Contrib mit neueren Versionen von XMonad gebrochen wird.
eazar001
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.