https://bugs.kde.org/show_bug.cgi?id=524071
Bug ID: 524071
Summary: KWin: Offer to force-quit a window after repeated
close requests
Classification: Plasma
Product: kwin
Version First unspecified
Reported In:
Platform: Other
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
There are applications that cannot be closed normally. This can happen either
because the application is actually unresponsive, or because it remains
responsive but intentionally or accidentally ignores normal close requests.
For example, an application may continue processing its event loop and replying
to KWin's ping requests while ignoring the window close request itself. In this
case, KWin does not consider the application unresponsive, so the existing
timeout-based KillPrompt is never shown.
Currently, the user then has to use System Monitor, `xkill`, or another
external way to terminate the application.
A related approach was previously discussed in Bug 523475:
https://bugs.kde.org/show_bug.cgi?id=523475
Similar ideas have also been discussed here:
https://discuss.kde.org/t/additional-end-task-or-force-close-button-in-the-right-click-context-menu-of-an-app-for-task-manager/46677
https://discuss.kde.org/t/qml-changing-the-taskbar-context-menu-close-button-to-kill-the-app/43752
Proposed behavior
KWin could keep track of repeated close requests for each window.
As an initial value, the proposed threshold is 3 close requests within 2
seconds.
The behavior would be:
1. The first close request starts a short timer and is handled normally.
2. Further close requests for the same window are counted.
3. If 3 close requests are received within 2 seconds, instead of sending
another normal close request, KWin immediately opens the existing KillPrompt
and offers to terminate the application.
4. If more than 2 seconds pass between requests, the counter is reset and a new
sequence begins.
This gives KWin two independent ways to offer force termination:
* the existing path: the application stops responding to ping requests and
reaches the normal timeout;
* the new path: the user repeatedly requests that the same window be closed
within a short period of time.
I would like to get feedback on the proposed interaction, especially on whether
3 requests within 2 seconds is an appropriate initial threshold, before
submitting the implementation as a merge request.
--
You are receiving this mail because:
You are watching all bug changes.