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