Why is it faster to restore applications from System Tray than from the Taskbar?

33

4

Some applications, don't actually exit when closing them. Instead, they keep on running the background. Applications known for this are

When in this state, trying to restore them by clicking the (non-running) icon on the taskbar often takes multiple seconds, but clicking on the small system tray icon restores them almost instantly. Why is this?


The system tray

The system tray

Impulse The Fox

Posted 2018-04-26T18:50:36.997

Reputation: 939

23restore them by clicking the (non-running) icon Isn't this simply 'starting' not 'restoring' ? – TaW – 2018-04-27T08:19:43.820

2I'm not really sure why applications do this when they could just minimize? – pjc50 – 2018-04-27T09:31:00.590

9@pjc50 they are minimised - only they are also removed from the taskbar. The idea is that applet style programs - things that you interact with infrequently, but need to be run as a program and not a service are tidied away there. It means that they don't end up cluttering up that taskbar. – Baldrickk – 2018-04-27T11:03:08.367

@pjc50 I currently have 14 programs in my system tray. I interact with most of them very rarely, but want to have them running and doing their job in background. At the same time I have 5 running programs that I actually work with. Finding them among other running programs in taskbar would be cumbersome. – gronostaj – 2018-04-29T08:10:11.887

What exactly do you mean by "trying to restore them by clicking the (non-running) icon on the taskbar". If the program is running then "restoring" its window from taskbar or notification tray should take same amount of time. If you have "pinned" an application on taskbar then clicking on its "not-running" icon is same as launching the application, not restoring its window. – Salman A – 2018-04-29T09:18:27.707

Answers

85

When you click on the taskbar icon, the application first has to start and then checks, if another process of the program is running. If so, it puts the process in the foreground and terminates itself.

But when clicking on the small system tray icon, you already have an associated process, which will then get put in the foreground. No application or program tries to start in this case.

Impulse The Fox

Posted 2018-04-26T18:50:36.997

Reputation: 939

6This is exactly the answer, yes. It takes time to start a program, especially a complex one that needs to read from files, perform networking tasks, etc like Discord. It takes significantly less time for an already-running application to open a window. (Which is what's happening, not "moving to the foreground" -- the window is just gone, but it's being recreated by the process) – Fund Monica's Lawsuit – 2018-04-27T00:37:48.287

5@NicHartley, maybe that's how Discord does it, but you can't prove that every single tray application chose to Dispose of its main window instead of Hide. – NH. – 2018-04-27T15:21:56.557

1

The icons in the system tray are usually not full copies of the application, (unless the application was designed that way). They can just be very small programs written to monitor a local service or a remote cloud service status, with no UI except the small icon. Clicking on them then requires the computer to actually load and start the full program with the user UI and all the functionality.

Minimized applications on the taskbar are full instances of the application.

simpleuser

Posted 2018-04-26T18:50:36.997

Reputation: 478

1This is both oversimplified at best and self-contradictory: if "Clicking on them [the tray icons] then requires the computer to actually load and start the full program with the user UI and all the functionality", then that sounds like a lot of work, so why do such icons result in a faster response than clicking on the taskbar? Your reasoning is vague about why either would be different, but the quote I've emphasised here, read as-is, in fact suggests that the taskbar would be faster... and yet that's clearly the opposite of what the OP reported/asked about. – underscore_d – 2018-04-29T17:00:06.893