Review Request 121197: KStartupInfo: use QX11Info::getTimestamp if appUserTime is 0

Martin Gräßlin mgraesslin at kde.org
Mon Nov 24 15:06:54 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121197/
-----------------------------------------------------------

(Updated Nov. 24, 2014, 4:06 p.m.)


Review request for KDE Frameworks.


Bugs: 337798
    https://bugs.kde.org/show_bug.cgi?id=337798


Repository: kwindowsystem


Description
-------

KStartupInfo::createNewStartupId is supposed to return a new
id with a properly setup user timestamp. But if QX11Info::appUserTime
returns 0 this was included in the id and cannot be considered a
properly setup user timestamp. An app user time of 0 is the case
for klauncher. If an application uses this timestamp of 0 passed from
the startup notification it causes problems with passing focus to it
from KWin. The application sets the timestamp in the
_NET_WM_USER_TIME property and the value "0" has the special meaning
of requesting to not be initially mapped. KWin honors that and doesn't
focus the window. An application is not supposed to interpret a 0 time
stamp passed through the startup notification as a special value to get
the current time. It is totally fine to expect that it gets a proper
value passed. Thus one cannot blame applications for not interpreting
this value accordingly. An example for an application passing the 0
to the _NET_WM_USER_TIME is Firefox. Starting Firefox in a Plasma 5
session through e.g. the launcher results in KWin not passing focus
to it and instead demands attention. This is clearly wrong and not
intended.

The solution in this change is to get the current timestamp from
the X server in case the appUserTime is 0. This fixes the described
problem with Firefox: it now gets properly focused on starting
through a launcher.


Diffs (updated)
-----

  autotests/kstartupinfo_unittest.cpp f4b607d2a21da7dcf32434c00b2bdeeaf401ee65 
  src/kstartupinfo.h ff4454b4102ecaea7067adb8c3a56d7f500250e0 
  src/kstartupinfo.cpp 03418fce1a154ea388d0f65665dc0c9724a5623a 

Diff: https://git.reviewboard.kde.org/r/121197/diff/


Testing
-------


Thanks,

Martin Gräßlin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20141124/ffe01115/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list