커서가 창 위로 이동할 때마다 창에 초점을 맞추려고 합니다.
사용 사례:
- 커서가 포커스된 창 A
- 사용자가 키보드를 사용하여 포커스를 이동합니다.
- 사용자가 마우스를 움직이고 커서 아래의 창이 활성화되기를 기대합니다.
커서를 3이 아닌 다음으로 이동해야 합니다.다른창 및 반환.
이 존재, 내가 원하는 것을 정확히 수행하는 것 같습니다. 나는 그것을 작동시킬 수 없습니다.
이게 내가 가진 거야, 121행과 122행을 참조하거나 더 쉬운 경우 차이점을 살펴보세요(몇 가지 들여쓰기 변경이 있습니다. 관련된 항목을 삭제하지 않도록 여기에 남겨 두었습니다).
@@ -1,5 +1,6 @@
import XMonad hiding ((|||))
import XMonad.Actions.RotSlaves
+import XMonad.Actions.UpdateFocus
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.ManageDocks
@@ -111,12 +112,14 @@ myKeys =
, (f, m) <- [(W.view, 0), (W.shift, shiftMask)]]
main = do
- xmproc <- spawnPipe "/usr/bin/xmobar ~/.xmonad/.xmobarrc -x 0"
- --xmproc <- spawnPipe "~/.cabal/bin/xmobar ~/.xmonad/.xmobarrc -x 1"
- xmonad $ withUrgencyHook NoUrgencyHook
- $ defaultConfig {
+ xmproc <- spawnPipe "/usr/bin/xmobar ~/.xmonad/.xmobarrc -x 0"
+ xmonad
+ $ withUrgencyHook NoUrgencyHook
+ $ defaultConfig {
workspaces = myWorkspaces
, terminal = "gnome-terminal"
+ , startupHook = adjustEventInput
+ , handleEventHook = focusOnMouseMove
, manageHook = myManageHook <+> manageHook defaultConfig
, layoutHook = avoidStruts $ smartBorders $ myLayout
, logHook = dynamicLogWithPP xmobarPP
xmonad
버전 0.12. 나는 이것을 시도했을 뿐만 아니라 mod+q
로그아웃과 로그인도 시도했습니다.
답변1
분명히 사용된 포인터 이동 마스크는 focusOnMouseMove
더 이상 이러한 방식으로 구현되지 않으므로 이 기여는 더 이상 사용되지 않습니다.
IRC에서 얻은 답변은 다음과 같습니다.
StartupHook을 설정하는 대신 마스크를 업데이트해 보세요.
, rootMask = rootMask defaultConfig .|. pointerMotionMask
, clientMask = clientMask defaultConfig .|. pointerMotionMask
나에게는 효과가 없었지만, 다른 사람이 시도해 보고 싶다면 행운을 빌어요.