focusOnMouseMoveのxmonad起動フックが機能しません。

focusOnMouseMoveのxmonad起動フックが機能しません。

カーソルがウィンドウの上に移動するたびにウィンドウに焦点を合わせようとします。

ユースケース:

  1. カーソルがフォーカスされたウィンドウA
  2. ユーザーはキーボードを使用してフォーカスを移動します。
  3. ユーザーがマウスを動かし、カーソルの下のウィンドウがアクティブになることを期待します。

カーソルを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

私には効果がありませんでしたが、他の人が試してみたいなら幸運を祈ります。

おすすめ記事