xmonad gancho de inicialização para focusOnMouseMove não está funcionando

1

Eu estou tentando dar foco a uma janela sempre que o cursor se move sobre ela.

Caso de uso:

  1. janela A focada pelo cursor
  2. o usuário move o foco com o teclado
  3. o usuário move o mouse e espera que a janela abaixo do cursor ative

Em vez de 3, sou obrigado a mover o cursor para a outra janela e depois voltar.

Isso existe e parece fazer exatamente o que eu quero. Eu não posso fazer isso funcionar.

Aqui está o que eu tenho , veja as linhas 121 e 122, ou veja o diff caso seja mais fácil (há algumas mudanças com recuo, deixo aqui apenas para ter certeza de não remover nada relevante):

@@ -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 versão 0.12. Eu tentei não apenas mod+q , mas também fazendo logout e in.

    
por Gauthier 11.09.2017 / 10:08

1 resposta

0

Aparentemente, a máscara de movimento do ponteiro que focusOnMouseMove usou não é mais implementada dessa maneira, o que torna essa contribuição obsoleta.

Essa é a resposta que recebi no IRC:

Em vez de configurar o startupHook, tente atualizar as máscaras

, rootMask = rootMask defaultConfig .|. pointerMotionMask
, clientMask = clientMask defaultConfig .|. pointerMotionMask

Isso não funcionou para mim, mas, boa sorte, se alguém quiser tentar.

    
por 12.09.2017 / 09:34

Tags