カーソルがウィンドウの上に移動するたびにウィンドウに焦点を合わせようとします。
ユースケース:
- カーソルがフォーカスされたウィンドウ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
私には効果がありませんでしたが、他の人が試してみたいなら幸運を祈ります。