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.

Reply via email to