Fix input focus for KDM's dialogs when GrabInput is not active

Review Request #121755 - Created July 29, 2015 and submitted

Wolfgang Bauer
268988, 338018
luebking, ossi

Commit d03df616 made input grabbing optional in KDM. But without it, input dialogs do not correctly get focus and keyboard shortcuts don't work.

KDM does call activateWindow() on opened dialogs, but this doesn't seem to have the desired effect without a window manager running. And if you hover the mouse over a widget, it visually looks like it has focus, but often it doesn't accept input anyway.

This patch sets the input focus via XSetInputFocus() instead, this also has the positive side-effect that a widget retains the focus if you move the mouse away.

Tried all things mentioned in the bug reports, keyboard input and shortcuts work now in all cases.

I also tested with onboard keyboards (xvkbd and kvkbd), both work fine. Before, kvkbd didn't work at all (the text input widget lost focus as soon as you moved the mouse to the OSK) and xvkbd only works if you forced the focus to the text input widget via its "Focus" button (from which this patch was inspired actually ;-) ).

Other openSUSE users have tested this as well, and the patch is even part of openSUSE's official package since January.
See also

Thomas Lübking
Oswald Buddenhagen
Wolfgang Bauer
Review request changed

Status: Closed (submitted)

Change Summary:

Submitted with commit 46f1055ffdcd2e068296576a7824012f42e9b9a8 by Wolfgang Bauer to branch KDE/4.11.