davidedmundson added a comment.
Code in system tray is quite good:
if (QScreen *screen = appletInterface->window()->screen()) {
const QRect geo = screen->availableGeometry();
pos = QPoint(qBound(geo.left(), (int)pos.x(), geo.right() -
desktopMenu->width()),
qBound(geo.top(), (int)pos.y(), geo.bottom() -
desktopMenu->height()));
}
it binds it to the availableGeometry so it always appears outside of struts
(panels)
REVISION DETAIL
https://phabricator.kde.org/D15887
To: romangeints, #plasma, davidedmundson
Cc: romangeints, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai,
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart