![Xmonad: 구성에서 정의한 작업 공간에서 일부 응용 프로그램을 시작할 수 없습니다](https://linux55.com/image/33563/Xmonad%3A%20%EA%B5%AC%EC%84%B1%EC%97%90%EC%84%9C%20%EC%A0%95%EC%9D%98%ED%95%9C%20%EC%9E%91%EC%97%85%20%EA%B3%B5%EA%B0%84%EC%97%90%EC%84%9C%20%EC%9D%BC%EB%B6%80%20%EC%9D%91%EC%9A%A9%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%8B%9C%EC%9E%91%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
이것은 내 xmonad 구성의 일부입니다.~/.xmonad/xmonad.hs
myWorkspaces :: [String]
myWorkspaces = clickable . (map dzenEscape) $ ["web","doc","ssh","devel","chat","temp"]
where clickable l = [ "^ca(1,xdotool key super+" ++ show (n) ++ ")" ++ ws ++ "^ca()" |
(i,ws) <- zip [1..] l,
let n = i ]
myManageHook = composeAll
[ className =? "MPlayer" --> doFloat
, className =? "Vlc" --> doFloat
, className =? "Gimp" --> doFloat
, className =? "skype" --> doF (W.shift (myWorkspaces !! 4))
, className =? "Mail" --> doF (W.shift (myWorkspaces !! 4))
-- , className =? "XCalc" --> doFloat
, className =? "Firefox" --> doF (W.shift (myWorkspaces !! 0)) -- send to ws 0
-- , className =? "Nautilus" --> doF (W.shift (myWorkspaces !! 5)) -- send to ws 5
, className =? "gvim" --> doF (W.shift (myWorkspaces !! 1)) -- send to ws 1
-- , className =? "Terminal" --> doF (W.shift (myWorkspaces !! 3)) -- send to ws 3
, className =? "Gimp" --> doF (W.shift (myWorkspaces !! 1)) -- send to ws 1
, className =? "Codeblocks" --> doF (W.shift (myWorkspaces !! 3)) -- send to ws 3
, className =? "stalonetray" --> doIgnore
]
문제는 Firefox나 Codeblocks가 원하는 작업 공간에서 실행되지만 Skype와 Mail(Thunderbird)은 이러한 설정을 따르지 않고 항상 활성 작업 공간에서 실행된다는 것입니다.
답변1
Skype가 대문자인지 확인하세요. 사용하고 className =? "Skype" --> doShift "8"
있는데 작동하는데 Skype를 소문자로 두면 작동하지 않습니다. 나는 Thunderbird를 사용하지 않지만 아마도 이것은 클래스 이름 문제일 수도 있습니다. "Thunderbird-bin"을 사용해야 할 것 같습니다.