Forum Discussion
"Show all icons in system tray" option in windows11
Hello there. Subject said that all. This option was available till windows10 in taskbar and start menu settings, but in windows11, I found a settings to enable notification icons one by one, and not all icons remain enabled at the time. How to do this (show all icons in system tray) in windows11?
To always show all the Icons in the System Tray or Notification area of Windows 11/10, follow these steps:
1. Press Win+R to open the Run prompt.
2. Enter this value: explorer shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}
3. Tick the Always show all icons and notifications on the taskbar checkbox.
4. Click the OK button.Hope this helps everyone!
160 Replies
- emreozkCopper ContributorI found and easier way. Just drag one icon in group and leave it to non group area in task bar. In this case, still there is upper arrow but you can manage which one included and which one is out of this group. It permanently helps.
Thanks - AMDMan64Copper Contributor
abdullah5490
Alright. I have been building out a Windows 11 deployment the last few days and I decided to share my solution as I feel it is probably better than any of the PowerShell solutions out there.
Basically, I wrote a simple executable compatible with .NET Framework 4.8 that can be placed in startup to unhide the tray icons at whatever interval a user desires.I uploaded the entire source to GitHub (https://github.com/KMSD-Tech/TrayIconUnhide-4.8/), but feel free to grab my precompiled .exe:
https://github.com/KMSD-Tech/TrayIconUnhide-4.8/blob/main/TrayIconUnhide/bin/Release/net48/TrayIconUnhide.exe
The source is available here:
https://github.com/KMSD-Tech/TrayIconUnhide-4.8/blob/main/TrayIconUnhide/TrayIconUnhide.csBasically, pick a spot on your computer to store the executable (I would store it in a spot that is accessible to all users):
For example c:\programdata\scripts\TrayIconUnhide.exe
Open Regedit:
Create a REG_SZ under HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run with the name TrayIconUnhide - point the value to wherever you stored the script (e.g. c:\programdata\scripts\TrayIconUnhide.exe)
The default unhide interval is 50 seconds, but you can set this to whatever you want
Simply use "c:\programdata\scripts\TrayIconUnhide.exe" --refresh 10 (where 10 is the desired interval in seconds)
This program should have very minimal CPU impact on your system.
I have tested this on my test deployment machine and it seems to work great. I feel it is a better solution than any scheduled tasks. Feel free to test and report any issues.- abdullah5490Brass Contributorappreciate your efforts, I'm going to test it. thanks allot for sharing, and i hope it will be benefitial for thousands.
- WacededCopper Contributor
In case anyone else is still struggling with this, I found that you can simply drag the icons from the popup menu onto the system tray and they will become "pinned" to the system tray.
It seems so obvious now, but I was getting quite frustrated not having a simple option in any of the system tray or taskbar settings to do this.No need for any registry hacks and so far (2 days) the icons I want to see in the system tray have remained visible.
- KimNa15Copper ContributorAs of the current Windows 11 version, there is no direct option to "Show all icons in system tray" like in Windows 10. However, you can still achieve a similar result by following these steps:
Right-click on the taskbar and select "Taskbar settings."
In the Taskbar settings, click on "Taskbar behaviors" in the left navigation pane.
Under the "Notification area" section, click on "Select which icons appear on the taskbar."
Toggle on the switch for each app or system icon you want to appear in the system tray.
Scroll down and click on "Turn system icons on or off."
Enable the system icons that you want to display in the system tray.
By enabling all the icons under "Select which icons appear on the taskbar" and turning on the desired system icons, you can have most of the icons appear in the system tray in Windows 11. However, please note that some third-party applications may not have system tray icons by default in Windows 11 due to design changes. - JoshuaMIllenCopper Contributor
Using shell:::{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9} does still bring up the "option", but is no longer usable.
The only thing you can actually do now is just drag each systray icon out of the popup window and down to the tray.
- BellevueKurtCopper Contributor
shell command opens old window, but that window no longer works, as of Feb. 7, 2025.
- abdullah5490Brass Contributoryes, thankyou, it is working this way.
- easyspaceCopper Contributor
https://www.majorgeeks.com/content/page/show_all_icons_system_tray.html#google_vignette outlined it beautifully. Worked for me the first time around and I guess every time around.
Hope it helps others too.
- MJFlanaganCopper ContributorThe fact that this capability was removed is one of the most bizarre choices. As one earlier poster said, an individual at Microsoft had to willingly decide to remove the ability to show all system tray icons, and then work to make it impossible using the basic settings options. Meanwhile we are spending time trying to find and test homebrew solutions to a very simple problem that they caused. The run command recommendation did not work, but dragging the icons out of the "hidden" arrow zone to the between the other visible icons does seem to work, for now.
- abdullah5490Brass ContributorThanks so much, yes i am also using that method. At least, all icons are accessable through this.
- Soylent17Copper Contributor
Here's a powershell script to set currently known app icons to show. Could be set as a scheduled task or something.
Get-ChildItem "HKCU:\Control Panel\NotifyIconSettings" | ForEach-Object { Set-ItemProperty -Path $_.PSPath -Name 'IsPromoted' -Type 'DWORD' -Value 1 }
(Script execution must be enabled for it to work: Settings -> Privacy & Security -> For Developers -> Powershell)- coopermnzCopper Contributor
@Thanks, this is what i was looking for. I wanted to pin on app and let the users manage the rest
- FloydyCopper Contributor
I've been looking into this issue for an enterprise solution.
IsPromoted = 1 in the reg is essentially what is being set to unhide each icon, which is also what gets set when this is changed manually.
I have come up with similar powershell, my intention is to set it as a scheduled task deployed from GPP to run every x minutes.
Note that you can run this as a simpler single powershell command using a wildcard * at the end of the path, without then needing the get command (although the result is the same).Set-ItemProperty -Path "HKCU:\Control` Panel\NotifyIconSettings\*" -Name 'IsPromoted' -Value 1
The reason it needs to run every x minutes (and the reason home users are finding the Windows 11 behaviour flakey) is because many of these icons are generated dynamically under certain conditions - therefore not only is every users icon uniquely identified, but the app icon you unhid yesterday may well be a completely different instance of that icon tomorrow. So the result is that the 'new' copy of that icon is default hidden each time, so appears to 'hide' again to the user.
So at the moment my best effort it to "capture" any icons currently running, to restore the taskbar as unhidden every x minutes.
All because Microsoft have forgotten how task bar icons are used (ironically including most of their own - such as Teams, Outlook, and Defender).
Update -
Struggled to get this concept to run as a Scheduled Task in Enterprise environment. 😕 It works, but its messy. It needs to run in the Users group context I believe in order to successfully access the HKCU unfortunately (SYSTEM doesn't seem to work), and this means every user would need Log On As Batch permissions (not viable for us). There's also an issue with it 'flashing' the powershell prompt briefly each time it runs, which isn't really acceptable on a fast schedule. This is the Scheduled Task command (note special character between "Control Panel") if anyone wants it - set to run as Users group (or as your own user if you're on a personal device).%SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command Set-ItemProperty -path "HKCU:\Control` Panel\NotifyIconSettings\*" -Name "IsPromoted" -Value 1
Instead I'm probably going to look at just running the first powershell as a login and logoff script for each user from GPO, so it'll at least set icons unhidden that exist on logon and logoff (but it will miss any that only intermittently appear (such as Outlook envelope notification) and any that recreate dynamically. I'm hoping it will catch the ones we need most.
Conclusion (& Second Update) -
Can confirm running my first powershell command as a .ps1 script in Login & Logoff Powershell script tab in GPO works pretty well for Enterprise environment. Home users could do the same from Local Group Policy.
It won't capture every icon but it should capture anything that's fairly persistent.
It'll have to do, pig, it'll have to do.- bonky2024Copper Contributor
try this command.. seems to work well and switches on all the icons
powershell -command set-ItemProperty -Path 'HKCU:\Control" Panel\NotifyIconSettings\*' -Name 'IsPromoted' -Value 1
- kamrulextCopper Contributor
Windows settings (right click on windows logo and click on settings) > Personalization > Taskbar > Other system tray icons (expand the third block) > Turn on which icons you want to show always.
Cheers!
- sansai35Copper Contributorbut you have to do it for each new program and this doesn't even stick (I've had Discord and other programs revert to hidden later)
- hughletherenBrass ContributorBut it takes less than a second to drag them into the right place. . .
- lord1024Copper Contributor
kamrulext
This is a crazy solution respectively it is NO solution. If someone wants to always see every active tools always and every time in the systray, of course he do NOT want to activate it for every icon separately. And the biggest problem is, if there comes a new tool or when there is a change, with Windows 11 you always have to re-active the setting for this icon.Microsoft, why do you have to make good things worse?
I understand that you want to hide the icons as a standard to make your OS look clean.
But of course you have to make all the icons visible with one checkbox for advanced users who need all the icons really often. It is a crazy idea to force the users to activate each and every icon separately. And of course we have to do it every time again when we install a new software. Crazy, really, really crazy.
- artdavisCopper Contributor
Works with: Windows 10/11 (but you can use the Task Bar setting in W10)
Steps:
- Click the up-arrow in the icon tray to show the hidden icons.
- Left click the icon you want visible in the icon tray and drag it up-and-out of the icon tray.
- While still dragging the icon, drop it onto the visible area of the icon tray.
That's it. The icon will remain visible after a restart (tested).
And no, I too had no idea you could do this (even in W10). I found the answer on an MS Support page:
https://support.microsoft.com/en-us/windows/customize-the-taskbar-notification-area-e159e8d2-9ac5-b2bd-61c5-bb63c1d437c3
And yes, it was driving me nuts too.- RecoltantCopper Contributorman... BIG THANK YOU, crazy thing with this windows 11..... thanks !
and microsoft devs... really ?! wake up please.