Bug 434847

Summary: Endless WAV window disappears irrecoverably if focus stealing prevention > Normal
Product: [Plasma] kwin Reporter: S. Christian Collins <s_chriscollins>
Component: rulesAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DOWNSTREAM    
Severity: normal CC: isma.af, nate
Priority: NOR    
Version First Reported In: 5.21.3   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description S. Christian Collins 2021-03-23 18:57:38 UTC
SUMMARY
When using the free Windows app "Endless WAV" in Wine, its tooltips steal focus from the application, causing audio playback to stop. This can be avoided by using kwin window rules to force the focus stealing prevention to "Extreme". However, if the focus stealing prevention is set higher than "Normal", the main program window becomes invisible if it is minimized and restored, and nothing can bring it back.

Here is a video showing the bug in action: https://youtu.be/GIO4yH0NYzQ

STEPS TO REPRODUCE
1. Install the free Endless WAV application using Wine. You can download it here: https://www.bjoernbojahr.de/endlesswav.html
2. Set a window rule for the application forcing focus stealing prevention to "High" or "Extreme".
3. Start Endless WAV.
4. Minimize Endless WAV, then try to restore it by clicking on its taskbar entry.

OBSERVED RESULT
The lower, floating file browser window is restored, but the main application window is invisible. If you right-click on the taskbar entry and choose "Maximize", you can briefly see the window maximize animation, but then it is invisible again once maximized. The only way to get the main window back is to restart the application.

EXPECTED RESULT
The main window should restore and not disappear.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE neon 5.21 User Edition
KDE Plasma Version: 5.21.3
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2
Kernel Version: 5.4.107-xanmod1
Comment 1 Nate Graham 2021-03-23 19:42:16 UTC
This is an app bug. You can use a Window Rule to force a particular Focus Stealing Prevention setting for only the misbehaving window. But as you can see, even though we offer a few knobs to help you work around these kinds of bugs, it's ultimately a poor experience compared to the app working properly.