13

Я знаю, как связать определенные приложения с конкретными рабочими пространствами, используя manageHook и composeAll. То, что я ищу, - это способ порождения приложений в определенных рабочих пространствах, то есть функция с сигнатурой типа String -> workSpaceId -> X () , пример использования которой будет выглядеть примерно так:

spawnToWorkspace "emacs" "2:code"

2 ответа2

9

Более правильный (и современный; я не думаю, что SpawnOn был в выпущенном тогда XMonad, очень много хороших вещей было только в darcs), способ сделать это -

import XMonad.Actions.SpawnOn

а затем использовать действие

spawnOn "2:code" "emacs"

См. Http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-SpawnOn.html для получения подробной информации.

5

Хорошо, это было на самом деле проще, чем я думал:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .