Uruchamiaj aplikacje w określonych obszarach roboczych w xmonad


13

Wiem, jak powiązać określone aplikacje z określonymi obszarami roboczymi za pomocą manageHook i composeAll. To, czego szukam, to sposób na odradzanie aplikacji w określonych obszarach roboczych, tj. Funkcja z podpisem typu, String -> workSpaceId -> X ()której przykładowe użycie mogłoby wyglądać tak:

spawnToWorkspace "emacs" "2:code"

Odpowiedzi:


9

Bardziej poprawnym (i nowoczesnym; nie sądzę, że SpawnOn był wtedy w wydanym XMonadzie, strasznie dużo dobrych rzeczy było tylko w darcs) sposobem na zrobienie tego jest

import XMonad.Actions.SpawnOn

a następnie użyj akcji

spawnOn "2:code" "emacs"

Szczegółowe informacje można znaleźć na stronie http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-SpawnOn.html .


6
Czy to nadal działa? Jestem na Xmonadzie 0.10 i korzystam ze spawnOn nadal wydaje się po prostu spawnować aplikację w bieżącym obszarze roboczym ...
bhh1988

5

Okej, to było właściwie łatwiejsze niż myślałem:

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

1
Jest to jedyne rozwiązanie, które wydaje się działać, wygląda na to, że spawnOnod XMonad-Contrib jest zepsuty z nowszymi wersjami XMonad.
eazar001
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.