cschneegans / unattend-generator

.NET Core library to create highly customized autounattend.xml files
https://schneegans.de/windows/unattend-generator/
MIT License
680 stars 62 forks source link

[REQUEST] Show all icons in system tray #34

Closed Rootzpower closed 3 months ago

Rootzpower commented 3 months ago

Hello

First, thanks for your work

Can you add an option to always show icons on system tray on win11?

cschneegans commented 3 months ago

On Windows 10, it was sufficient to add

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
"EnableAutoTray"=dword:00000000

to the registry to always show all tray icons. On Windows 11, the same task seems to be surprisingly difficult. Some people found the IsPromoted registry value, and a PowerShell script such as

Set-ItemProperty -Path 'HKCU:\Control Panel\NotifyIconSettings\*' -Name 'IsPromoted' -Value 1 -Type 'DWord' -ErrorAction 'SilentlyContinue';

can set this value for all existing icons – but this will not affect icons added afterwards. One could run the script each time a user logs on, but this is still not very reactive, and you would see a PowerShell window pop up every time.

Nevertheless, I have added a new checkbox Always show all tray icons to the form, which runs a PowerShell script as described above.

Hammerfest commented 3 months ago

Can confirm W11 has trashed this.

I had set the script to run once an hour, but quickly moved on to a 3rd party start menu because of this and other start menu changes.

I hate not knowing whats running on my system at all times, and while not everything is in the tray, at least anything that would normally be there shows up and programs with issues don't go unnoticed like it does when it hides them.

Rootzpower commented 3 months ago

Don't worry, thank you for your effort :)

cschneegans commented 2 months ago

Several users had complained about the PowerShell window popping up at each logon. I have now replaced it with a scheduled task that runs silently in the background and executes a lightweight .vbs script. The task is triggered for each user at logon and once every minute.