Review Request 123294: Fix check to see if we are the active window before showing notification in polkit agent
Martin Gräßlin
mgraesslin at kde.org
Thu Apr 9 05:50:08 UTC 2015
> On April 8, 2015, 4:08 p.m., Martin Gräßlin wrote:
> > AuthDialog.cpp, lines 320-321
> > <https://git.reviewboard.kde.org/r/123294/diff/1/?file=360483#file360483line320>
> >
> > one event cycle might not be sufficient to figure out whether it's the active window.
> >
> > And honestly I have no idea how one could get the information whether the window manager processed it in a reliable way. What might be the most reliable is to wait for the window being added to KWindowSystem::stackingOrder (there's a changed signal). It would give at least the hint that the window manager processed the window being shown.
>
> David Edmundson wrote:
> The check to see if we're on top is currently broken. It looks at kwindowsystem::activeWindow which indirectly comes from looking a property on the root window. KWindowsystem only updates changes from the root window system every event loop. So we can't use the value directly after we've opened our dialog.
>
> Given we're calling forceWindowActive in policykitlistener when we show, so I don't actually need to see what the window manager has to say as I know we'll always be on top. To some extent we don't need this notification code at all, and I could just remove it.
>
> However, for the case that forceWindowActive doesn't work (such as running on Wayland) I left the code in.
forceWindowActive does not guarantee that you will have focus afterwards. It will also not (even less) guarantee that it's the top most window.
- Martin
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123294/#review78671
-----------------------------------------------------------
On April 8, 2015, 3:16 p.m., David Edmundson wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123294/
> -----------------------------------------------------------
>
> (Updated April 8, 2015, 3:16 p.m.)
>
>
> Review request for Plasma.
>
>
> Repository: polkit-kde-agent-1
>
>
> Description
> -------
>
> KWindowSystem::activeWindow result is cached, we need to process an
> event loop for it to update.
>
>
> Diffs
> -----
>
> AuthDialog.h 561c6a0
> AuthDialog.cpp 16ee64d
>
> Diff: https://git.reviewboard.kde.org/r/123294/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> David Edmundson
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150409/2197e820/attachment-0001.html>
More information about the Plasma-devel
mailing list