Review Request 127216: [KStatusNotifierItem] MinimizeRestore does not "run" over the desktop on X11
Anthony Fieroni
bvbfan at abv.bg
Fri Mar 4 17:25:28 UTC 2016
> On Март 4, 2016, 12:16 преди обяд, Thomas Lübking wrote:
> > src/kstatusnotifieritem.cpp, line 934
> > <https://git.reviewboard.kde.org/r/127216/diff/2/?file=446044#file446044line934>
> >
> > append
> > associatedWidget->setAttribute(Qt::WA_Moved);
> >
> >
> >
> > This should tell Qt to demand an explicit position and skip placement by the WM (yes, this generally works in KWin ;-)
> >
> > However, this flag should be implicitly set by ::move() unless the point is invalid, so you might want to "qDebug() << associatedWidgetPos;" to check whether it's invalid for the failing clients.
>
> Anthony Fieroni wrote:
> Fun facts :) void KStatusNotifierItemPrivate::minimizeRestore(bool) is called only when you click on tray icon i.e. if i close app with big red X it's not called => i can't store position :)
>
> Anthony Fieroni wrote:
> More fun facts :) associatedWidget->setGeometry(associatedWidget->frameGeometry()); works in any case ! I will add path if you want, but you will not be happy to set geometry by myself :)
>
> Anthony Fieroni wrote:
> ^ No, extend geometry with decoration size :)
>
> Thomas Lübking wrote:
> meehhh...
>
> That means one will have to filter QEvent::Close of associatedWidget and store the position from there.
It's strange, about me, associatedWidget has correct frameGeometry even it's hide.
QObject::connect(KWindowSystem::self(), &KWindowSystem::windowRemoved, q, [this](WId winId) {
if (associatedWidget && associatedWidget->winId() == winId) {
associatedWidgetPos = associatedWidget->frameGeometry().topLeft();
}
});
Position is correct, but again not work event with Qt::WA_Moved.
- Anthony
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127216/#review93143
-----------------------------------------------------------
On Фев. 29, 2016, 7:18 преди обяд, Anthony Fieroni wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127216/
> -----------------------------------------------------------
>
> (Updated Фев. 29, 2016, 7:18 преди обяд)
>
>
> Review request for KDE Frameworks, Martin Gräßlin, Thomas Lübking, and Martin Klapetek.
>
>
> Bugs: 356523
> https://bugs.kde.org/show_bug.cgi?id=356523
>
>
> Repository: knotifications
>
>
> Description
> -------
>
> Store position of widget before hide it
>
>
> Diffs
> -----
>
> src/kstatusnotifieritem.cpp cf3e7b5
> src/kstatusnotifieritemprivate_p.h 8fdfd4c
>
> Diff: https://git.reviewboard.kde.org/r/127216/diff/
>
>
> Testing
> -------
>
> Tested on pixel ration = 1
>
>
> Thanks,
>
> Anthony Fieroni
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20160304/c874d4e3/attachment.html>
More information about the Kde-frameworks-devel
mailing list