Feature Request: Show when apps that "minimize to tray" have not actually been quit

I am fine with not having a system tray; the uncluttered experience of stock GNOME is nice. However, I don’t want apps run in the background without my knowledge. I currently use gnome-shell-extension-appindicator so that I can see if an application like Element or Steam is still running.

On vanilla GNOME, if I were to use an unfamiliar application which behaved like this, it would likely give me the impression that I had quit that program even as it wasted power and/or RAM in the background. It may be possible for an inexperienced user to experience poor performance and not realize that there may be applications which they “closed” without actually quitting, resulting in high RAM usage. I bring up inexperienced users especially because they might not think to install an extension for this.

I’m not sure what the best solution for this would look like, but I can think of two suggestions:

  1. Continue to display the icon for the application in the dash as if it has been minimized normally.
  2. Display a notification (perhaps after a set period of time) that while all windows for an application have been closed, the application is still running.
1 Like

Applications should not unconditionally minimize to tray if there is no tray to minimize to—i.e. if their tray icon has not been embedded in a tray. The fact that applications do that is a bug, and should be fixed in the application.

Ideally, applications that wish to stay in the background should use the background portal, which will ask the user for confirmation.

I agree that applications should not minimize to a nonexistent tray, but I don’t have much hope that all or even most of the developers of applications like this will fix this behavior. If it’s not possible to handle cases like this in general and it must be fixed per app, I suppose I’ll continue to use the tray extension, submit bug reports where I can, and submit support tickets when there’s no good way to do that (for proprietary applications).

The problem is that you cannot programmatically distinguish the case where an application minimises itself for any reason, or it minimises itself in response to a user interaction. The user pressing the “close” button on a server-side decorated window does not cause the application to terminate: it’s all up to the application what should happen. The window manager, in other words, has no say in what happens after the “the close button has been pressed” event has been sent to the application.

I can’t think of any situation where those applications wouldn’t manifest a bug and where it wouldn’t warrant reporting. The tray has been optional in every Linux window manager and panel that I’ve ever used.

Sadly, a bunch of application developers thought that creating a status icon would never fail, because they always ever tested their code on a single distribution, with a single stock environment.

Sadly a bunch of desktop developers thought their way was the only way and created security issues for other users.

1 Like