Created attachment 169836 [details] activation example, cmake/Qt project SUMMARY KDE 6 Wayland xdg_activation protocol implementation is inconsistent. Let's say developer want to create a multi-window application, using 3 QMainWindow. CASE 1: When you create QMainWindow -> showMinimized() -> activateWindow() never works in first call, only second try starts working. This is a bug! CASE 2: When you create QMainWindow -> show(), then switching to that new window, resize it, and try to activateWindow() also never works in first try, only second. This is also a bug! When you create minimized window first and then normal one (or vice versa, doesn't matter) then both activateWindow works. STEPS TO REPRODUCE CASE 1: 1. Run activation-example from archive attached. 2. Click Show Minimized 3. Click Try Activate Minimized 4. Window won't get activated and still minimized on taskbar. STEPS TO REPRODUCE CASE 2: 1. Run activation-example from archive attached. 2. Click Show Normal 3. Click on that newly showed window. 4. Move it and resize it. 5. Click on example window with 4 buttons. 6. Also move it and resize it. 7. Click on Try Activate Normal 8. Window won't get activated. Linux: KDE Neon Testin Edition KDE Plasma Version: 6.0.5 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.0
IIRC, this bug also existed in KDE 6.0 when it landed in Neon User Edition.
Also happens in Fedora 40 with KDE6 manually installed from official repository. In VirtualBox.
This is a bug in Qt, not in Plasma - it re-uses the activation token environment variable instead of requesting a new token It should be fixed with https://codereview.qt-project.org/c/qt/qtwayland/+/519444, which activates the main window on show and thus clears the environment variable.
> Qt 6.8 release plan > Final Release 25.09.2024 Holly Molly it will take ONE YEAR for fix to land into Linux distributives.