> On Juli 30, 2015, 12:05 nachm., Thomas Lübking wrote:
> > This is Qt4, right?
> >
> > ::activateWindow() should be equivalent to "XSetInputFocus(display,
> > winId(), XRevertToParent, X11->time);" unless
> > a) _NET_ACTIVE_WINDOW is listed in _NET_SUPPORTED on the root window
> > (supposed to be set and withdrawn by window managers, crash on exit?)
> > AND
> > b) Qt::X11BypassWindowManagerHint is NOT set on the toplevel window
> > OR
> > c) the window is not mapped/waiting for a mapping notification
> >
> > => If the problem occurs, login aside (VT1 or ssh) and
> >
> > export DISPLAY=:0
> > xprop -root | grep _NET_ACTIVE_WINDOW
> >
> > If that's emtpy, focus setting fails on either
> > "qt_widget_private(tlw)->topData()->waitingForMapNotify" (qt bug in event
> > handling? missing "XSync(dpy, false)"? events are being processed after
> > show) or "X11->time" being superseded by a more recent/future
> > XSetInputFocus call ("fixed" by passing CurrentTime)
> >
> > If the feature /is/ listed, that's a bug caused by a crashing WM => setting
> > Qt::X11BypassWindowManagerHint will likely be sufficient.
> This is Qt4, right?
Yes.
> => If the problem occurs, login aside (VT1 or ssh) and
>
> export DISPLAY=:0
> xprop -root | grep _NET_ACTIVE_WINDOW
Hm, I don't seem to be able to get the properties of kdm's root window.
After opening a new login session:
```
# export DISPLAY=:1
# xprop -root
No protocol specified.
xprop: unable to open display ':1'
```
On fresh boot:
```
# export DISPLAY=:0
# xprop -root
Invalid MIT-MAGIC-COOKIE-1 keyxprop: unable to open display ':0'
```
If I kill kwin in a running KDE4 session, the feature is listed. But that's to
be expected I suppose, if I understand you correctly.
And focus changes when you move the mouse, which I think is undesirable at the
login screen anyway (there are not really multiple windows, just modal dialogs).
> If the feature /is/ listed, that's a bug caused by a crashing WM => setting
> Qt::X11BypassWindowManagerHint will likely be sufficient.
I will try if that helps.
But just to avoid a misunderstanding here: this is about kdm's login greeter.
There's no window manager running at all.
- Wolfgang
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121755/#review83168
-----------------------------------------------------------
On Juli 29, 2015, 11:39 vorm., Wolfgang Bauer wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121755/
> -----------------------------------------------------------
>
> (Updated Juli 29, 2015, 11:39 vorm.)
>
>
> Review request for kde-workspace, Thomas Lübking and Oswald Buddenhagen.
>
>
> Bugs: 268988 and 338018
> http://bugs.kde.org/show_bug.cgi?id=268988
> http://bugs.kde.org/show_bug.cgi?id=338018
>
>
> Repository: kde-workspace
>
>
> Description
> -------
>
> [Commit
> d03df616](https://projects.kde.org/projects/kde/kde-workspace/repository/revisions/d03df6169ecb291318e87099a346488c961fe1d6)
> 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.
>
>
> Diffs
> -----
>
> kdm/kfrontend/kfdialog.cpp 3f6fa84
>
> Diff: https://git.reviewboard.kde.org/r/121755/diff/
>
>
> Testing
> -------
>
> 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 https://bugzilla.opensuse.org/show_bug.cgi?id=772344
>
>
> Thanks,
>
> Wolfgang Bauer
>
>