Empêcher le vol de focus dans Awesome WM, en particulier depuis Skype

8

Lorsque j'utilise KDE avec Awesome WM et que je reçois un nouveau message dans Skype, Plasma Desktop vole le focus. Cela me rend fou car je ne peux pas continuer à taper dans ma fenêtre actuelle. Existe-t-il un moyen d'empêcher cela pour toute fenêtre ouverte?

Il semble qu'un tel vol de focus soit empêché par Awesome WM ou Plasma, mais le sélecteur de fenêtre de Plasma met toujours la fenêtre en surbrillance. Par conséquent, la barre de contrôle Plasma (celle du bas) n'est pas cachée et vole donc le focus lui-même.

Quand j'ai fait un killall plasma-desktop, le vol de concentration s'est arrêté. Cependant, j'ai également tué plasma-nmet d'autres choses que j'aimerais utiliser.

Martin Ueding
la source

Réponses:

1

Le vrai problème n'était pas que Skype ait volé le focus. Skype vient d'informer le gestionnaire de fenêtres qu'il avait une activité. Ensuite, Awesome WM a montré que la balise (bureau virtuel) avait une activité. Mais le panneau KDE Plasma contenait toujours une liste des fenêtres actives. Dans ce widget KDE, la fenêtre d'activité a été modifiée et Awesome WM a ensuite mis le focus sur le panneau KDE Plasma.

J'ai supprimé la liste des fenêtres du panneau Plasma et je n'ai plus jamais été dérangé.

Martin Ueding
la source
0

KDE

Ne pouvez-vous pas passer à "cliquer pour vous concentrer" dans KDE pour résoudre ce problème?

   SS de KDE

Impressionnant

J'ai trouvé ce Wiki qui discute de ce qui ressemble à votre problème et il a proposé cette solution de contournement. Le sujet wiki est intitulé: Plugins de contournement qui volent le focus du clavier .

xdotool

Il existe un bug très ancien dans Firefox qui permet aux plugins (Flash, Acrobat, etc.) de voler tous les raccourcis clavier de la fenêtre. Il s'agit d'une solution simple pour retourner le focus du clavier à la fenêtre de niveau supérieur:

code

   -- Escape from keyboard focus trap (eg Flash plugin in Firefox)
    awful.key({ modkey, "Control" }, "Escape", function ()
         awful.util.spawn("xdotool getactivewindow mousemove --window %1 0 0 click --clearmodifiers 2")
    end),

REMARQUE: cette solution de contournement doit xdotoolêtre installée.

déplacer la souris

Par exemple, utilisez Déplacer la souris pour déplacer le pointeur de la souris vers un emplacement sûr (toute zone sans liens ou éléments Flash intégrés), puis appelez la fonction ci-dessous pour simuler un clic de souris (qui ramène le focus).

code

-- Simulate mouse click
local function simulateClick()
    root.fake_input("button_press", 1)
    root.fake_input("button_release", 1)
end

-- Bind it to a key
    awful.key({ modkey, }, "n", function() simulateClick() end),

Références

slm
la source