https://bugs.kde.org/show_bug.cgi?id=438990
Bug ID: 438990 Summary: Better detection of unresponsive applications Product: kwin Version: unspecified Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: kwin-bugs-n...@kde.org Reporter: alts...@gmail.com Target Milestone: --- Created attachment 139571 --> https://bugs.kde.org/attachment.cgi?id=139571&action=edit Demonstation how frozen application reuses screen content and how KWin reacts to frozen applications SUMMARY There is a usability problem with unresponsive/hanged/frozen applications. When application window stops responding, it may "take" part of the screen (user may see not application content before hang but content of the desktop or previous window). That's especially confusing for maximized windows. So we should try to close that window with a button on a window decoration or on the panel. Then it may apply effect "Desaturate Unresponsive Applications" for a frozen window and finally show a dialog that process is not responding. I see 2 problems here: 1. Dialog is only triggered with a "close" action 2. As frozen window reuses some screen content, for a user sometimes very hard to find that window on a screen. User must rely on a panel (Task Manager), Task Switcher, "Present Windows" etc. Situation gets worse with CSD and variable "KWIN_EFFECTS_FORCE_ANIMATIONS=0" which among others disables effect "Desaturate Unresponsive Applications". I tried to boot into GNOME 3.36 and liked how Mutter deals with this issue: - it detects that application is frozen without user's specific interaction with a close button/command and shows dialog with - It dims window and repeats showing that dialog if user selected to "Wait Longer". Also as Mutter attaches that modal dialog to a parent window, for a user it's really easy to identify frozen window. STEPS TO REPRODUCE 1. Launch Kate and maximize it's window 2. Launch Konsole and maximize it's window 3. On a Konsole find PID for a "Kate" process with ps -ely | grep kate (3rd collumn) 4. Simulate process hang with a command kill -SIGSTOP <PID> 5. Minimize Kate (left click on a Kate item on a Task Manager on the panel) so you will see Konsole window 6. Unminize Kate OBSERVED RESULT - KWin doesn't detect that application is unresponsive unless you press a "close" button - Unresponsive application reuses screen content so it's hard to identify your frozen window, especially with programs which use CSD (e.g "Gedit) EXPECTED RESULT User can easily identify and close unresponsive program SOFTWARE/OS VERSIONS Linux/KDE Plasma: KDE Neon 5.22 User Edition KDE Plasma Version: 5.22.1 KDE Frameworks Version: 5.83.0 Qt Version: 5.15.3 ADDITIONAL INFORMATION Video demonstration attached -- You are receiving this mail because: You are watching all bug changes.