Created attachment 149597 [details] Playback panel in full screen mode SUMMARY It may seem to you that this is clearly a VLC bug, but same bug has already been reported on VLC bug tracker and closed because "we do nothing special when it comes to KDE" (https://code.videolan.org/videolan/vlc/-/issues/22563). And actually, the playback panel is aligned to the bottom in full screen mode everywhere, except for KDE (both X11 and Wayland). What's interesting is if you move the taskbar up (or to the side), then the playback panel becomes aligned to the bottom. Is it KDE or Qt bug? STEPS TO REPRODUCE 1. Open any video 2. Switch to full screen mode OBSERVED RESULT Playback panel is not aligned to the bottom. EXPECTED RESULT Playback panel is aligned to the bottom. SOFTWARE/OS VERSIONS Operating System: openSUSE Tumbleweed 20220606 KDE Plasma Version: 5.24.5 KDE Frameworks Version: 5.94.0 Qt Version: 5.15.2
They may do nothing special for KDE, but they're clearly using a positioning API that takes into account the Plasma Panel position when determining placement. I am not aware of anything in Qt that would do this, since Plasma Panels are added in our code, not Qt. However it's possible I'm wrong and something in Qt does respect that due to the window flags we set on Plasma Panels. If so, they should use a different API for positioning the playback overlay that doesn't care about it. This needs investigation by VLC's developers. It's an app bug or a Qt bug, but it can't possibly be a KDE bug.
The reason for this behavior is that the X11 doesn't allow to move a window outside the available screen geometry. Any idea how to get around this?
The Plasma Panel isn't beyond the screen geometry, though. Qt won't see it that way at least.
The Plasma Panel in NormalPanel mode sets the "strut" of itself (https://invent.kde.org/plasma/plasma-workspace/-/blob/master/shell/panelview.cpp#L1314), causing the VLC's playback panel can no longer be placed over the Plasma Panel. This is not a KDE bug, but an X11 (or KWin?) feature. But I have not yet found a solution how to get around this feature.
Yes, the panel sets struts, but those are only take into account when KWin positions a window. If this is affecting VLC, is means the overlay is internally drawn as a separate window, which is probably not an ideal implementation. It should simply be drawn and positioned internally, by VLC itself.