Update Keyboard focus when the Surface of the active client changes
ClosedPublic

Authored by graesslin on Jun 26 2016, 2:07 PM.

Details

Summary

For XWayland windows the window might be activated before the Wayland
Surface is set for it. Thus the keyboard focus is not passed to the
window. Only on the next activate after the window got created the
window got keyboard focus.

This change addresses this problem by emitting a signal from Toplevel
when the surface changes. The KeyboardInput listens to this signal
for the active client and updates keyboard focus again if the surface
changes. Thus keyboard focus is properly passed to XWayland windows.

Test Plan

Test case which creates an X11 window is adjusted to verify
the condition.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin updated this revision to Diff 4738.Jun 26 2016, 2:07 PM
graesslin retitled this revision from to Update Keyboard focus when the Surface of the active client changes.
graesslin updated this object.
graesslin edited the test plan for this revision. (Show Details)
graesslin added reviewers: Plasma on Wayland, KWin.
Restricted Application added projects: Plasma on Wayland, KWin. · View Herald TranscriptJun 26 2016, 2:07 PM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
mart accepted this revision.Jun 28 2016, 8:40 AM
mart added a reviewer: mart.
This revision is now accepted and ready to land.Jun 28 2016, 8:40 AM
This revision was automatically updated to reflect the committed changes.