Mulai aplikasi pada ruang kerja tertentu di xmonad


13

Saya tahu cara mengaitkan aplikasi spesifik dengan ruang kerja tertentu menggunakan manageHook dan composeAll. Apa yang saya cari adalah cara untuk menelurkan aplikasi pada ruang kerja tertentu, yaitu fungsi dengan tipe tanda tangan String -> workSpaceId -> X ()yang contoh penggunaannya akan seperti:

spawnToWorkspace "emacs" "2:code"

Jawaban:


9

Yang lebih benar (dan modern; saya tidak berpikir SpawnOn ada di XMonad yang dirilis saat itu, banyak sekali hal-hal baik yang hanya ada dalam darcs) cara untuk melakukan ini adalah dengan

import XMonad.Actions.SpawnOn

dan kemudian gunakan aksinya

spawnOn "2:code" "emacs"

Lihat http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-SpawnOn.html untuk detailnya.


6
Apakah ini masih berfungsi? Saya menggunakan xmonad 0.10 dan menggunakan spawnOn sepertinya masih akan menelurkan aplikasi di ruang kerja saat ini ...
bhh1988

5

Oke, itu sebenarnya lebih mudah dari yang saya kira:

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

1
Ini adalah satu-satunya solusi yang tampaknya berfungsi, tampaknya spawnOndari XMonad-Contrib rusak dengan versi XMonad yang lebih baru.
eazar001
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.