manageHook 및 composeAll을 사용하여 특정 응용 프로그램을 특정 작업 영역과 연결하는 방법을 알고 있습니다. 내가 찾고있는 것은 특정 작업 공간에서 응용 프로그램을 생성하는 방법 String -> workSpaceId -> X ()
입니다. 예를 들어 다음과 같은 예제 사용 유형의 함수 가 있습니다.
spawnToWorkspace "emacs" "2:code"
답변
더 정확한 (그리고 현대; SpawnOn이 출시 된 XMonad에 있다고 생각하지 않습니다. 많은 좋은 것들이 단지 darcs에만 있다고 생각합니다)
import XMonad.Actions.SpawnOn
그런 다음 액션을 사용하십시오.
spawnOn "2:code" "emacs"
자세한 내용은 http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Actions-SpawnOn.html 을 참조하십시오.
답변
좋아, 실제로 생각보다 쉬웠다.
spawnToWorkspace :: String -> String -> X ()
spawnToWorkspace program workspace = do
spawn program
windows $ W.greedyView workspace