Make Windows "Show icon and notifications" by default, but let you hide some
In Windows 7 if you have the Always show all icons and notifications on the taskbar
option disabled, the setting for individual applications defaults to Only show notifications
.
Is there a magical way of changing the default to Show icon and notifications
instead of Only show notifications
?
Use-case: when a new application comes along and adds an icon to the system tray, it defaults to showing the icon and notifications. I like the majority of the icons down there as they offer quick access to whatever programs are running BUT I still want to selectively hide the few that I do not want to see down there.
If I enable Always show all icons and notifications on the taskbar
I can't hide any. If I disable it, I have to go through every single application in the list and change the option, then keep my eye on it for any new applications. Hence my question.
This default behavior bothers me a lot also. I agree with Microsoft that it was probably a good idea to default to "Only Show Notifications" for most users. The purpose of the "Notification Area" is (as its name implies) to show notifications to its users. It should NOT be a place where companies put useless icons that "advertise" their programs, but do nothing.
That being said, as a power user, I have a good idea of which tray icons are important to me and which I'd prefer to hide. I'd much rather have the icons always show by default, but with the ability to manually hide individual ones, just as the OP has requested. Many tray icons not only provide notifications, but also real-time status and quick access to settings and controls, etc. So I'm disappointed by the lack of a setting (even in the registry) that would allow the behavior for new notification icons to be "Show Icon and Notifications" by default.
I have not been able to find such a setting. The registry key mentioned above by James is probably not useful. For one thing, it is under HKLM
, which is a machine-wide setting. But the behavior of tray icons is user-specific, however there is no HKCU
equivalent of that key.
The relevant registry key is actually HKCU\Software\Classes\Local Settings\Microsoft\Windows\CurrentVersion\TrayNotify
in the IconStreams
value.
This key is a binary registry key. It contains several blocks of data that store the full path to executables that have added notification icons, as well as the last tooltip displayed by each icon and the "show" setting for each.
So although I haven't found a way to change the default behavior for new icons, I was able to find a few good references for how to decipher the binary format of the above registry key or how to access the same information using the (undocumented) ITrayIcon
interface. These methods were used to produce utilities that can detect and change the behavior of individual tray icons programmatically.
Since programmatic access to this information is available, it should not be hard to write a small utility program that periodically monitors the list of tray icons and changes the behavior of any new icons it detects. After that, it would record the name of the icon and would not alter it again, so that any changes the user makes manually would not be overwritten.
Here are some code examples for detecting and modifying the behavior of individual tray icons:
A PowerShell script published July 8, 2011 By Micah Rowland: Windows 7 Notification Area Automation – Falling Back Down the Binary Registry Rabbit Hole (Make sure to read the comments because they include updates.)
A C# version (including unmanaged code in c++) posted September 3, 2013 by Hianz New Windows Tray / Notification Manager Is Here!
Both of these give pretty good examples of performing the tasks required to make a small utility that monitors and changes the behavior of new notification icons. If at some point I get around to writing that utility, I'll post it back here.
Old post I know, but just in case...
I think you are probably looking for something similar to the MSDN article here which shows how to disable the Backup and Restore auto-notification.
As stated previously, this will probably require a registry edit. Probably in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\NotificationArea
, but I found something which might work over at EggheadCafe which looked worth a try.