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

Thomas Lübking thomas.luebking at gmail.com
Fri Nov 21 15:21:29 UTC 2014


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



src/kstartupinfo.cpp
<https://git.reviewboard.kde.org/r/121197/#comment49475>

    Should this not rather be ::getTimestamp() unconditionally?
    
    This is supposed to be a hint when the application was triggered, not when there was the last interaction in the calling client.
    
    ::appUserTime() might be any random value in the past, thus pollute the FSP heuristics.


- Thomas Lübking


On Nov. 21, 2014, 10:44 vorm., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121197/
> -----------------------------------------------------------
> 
> (Updated Nov. 21, 2014, 10:44 vorm.)
> 
> 
> Review request for KDE Frameworks, kwin and Plasma.
> 
> 
> 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
> -----
> 
>   autotests/kstartupinfo_unittest.cpp f4b607d2a21da7dcf32434c00b2bdeeaf401ee65 
>   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/plasma-devel/attachments/20141121/c66ede53/attachment.html>


More information about the Plasma-devel mailing list