Starten Sie Anwendungen für bestimmte Arbeitsbereiche in xmonad

4196
user63896

Ich weiß, wie ich spezifische Anwendungen mit manageHook und composeAll bestimmten Arbeitsbereichen zuordnen kann. Was ich suche, ist eine Möglichkeit, Anwendungen für bestimmte Arbeitsbereiche zu erzeugen, dh eine Funktion mit Typensignatur, String -> workSpaceId -> X ()deren Beispielgebrauch etwa lauten würde:

spawnToWorkspace "emacs" "2:code" 
13

2 Antworten auf die Frage

9
geekosaur

The more correct (and modern; I don't think SpawnOn was in the released XMonad back then, an awful lot of good stuff was only in darcs) way to do this is to

import XMonad.Actions.SpawnOn 

and then use the action

spawnOn "2:code" "emacs" 

See http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-SpawnOn.html for details.

Funktioniert das noch? Ich bin auf xmonad 0.10 und spawnOn benutze die Anwendung immer noch auf dem aktuellen Arbeitsbereich. bhh1988 vor 12 Jahren 5
5
user63896

Okay, es war eigentlich einfacher als ich dachte:

spawnToWorkspace :: String -> String -> X () spawnToWorkspace program workspace = do spawn program  windows $ W.greedyView workspace 
Dies ist die einzige Lösung, die scheinbar funktioniert. Es scheint, dass `spawnOn` von XMonad-Contrib mit neueren Versionen von XMonad defekt ist. eazar001 vor 10 Jahren 1