ramensoftware / windhawk-mods

The official collection of Windhawk mods
269 stars 52 forks source link

"Always Show All Taskbar Tray Icons" plugin is irreversible (Fix included). #931

Open ACCESSDENIIED opened 1 week ago

ACCESSDENIIED commented 1 week ago

Plugin Dev: @m417z Plugin Name "Always Show All Taskbar Tray Icons"

Issue:

"Always Show All Taskbar Tray Icons" plugin is irreversible. Disabling -> restart explorer and Removing -> restarting explorer results in the same bug: The icons do not return back to the original tray icon location.

The issue seems to be with the "IsPromoted" value in this registry location, specifically that it doesn't automatically remove when disabling or removing the mod from windhawk:

Computer\HKEY_CURRENT_USER\Control Panel\NotifyIconSettings

I wrote the following powershell script to fix the issue on my end:

$path = "HKCU:\Control Panel\NotifyIconSettings" Get-ChildItem -Path $path | ForEach-Object { $subKeyPath = $.PSPath if (Get-ItemProperty -Path $subKeyPath -Name "IsPromoted" -ErrorAction SilentlyContinue) { Remove-ItemProperty -Path $subKeyPath -Name "IsPromoted" Write-Host "Removed IsPromoted from $($.PSChildName)" } }

m417z commented 1 week ago

Disabling -> restart explorer and Removing -> restarting explorer results in the same bug: The icons do not return back to the original tray icon location

When the mod is enabled, all "IsPromoted" modifications are blocked.

I couldn't reproduce it, see screencast below.

Please provide exact steps to reproduce the problem.

https://github.com/user-attachments/assets/22ab8050-56fb-40b9-94bc-39d1a9469925

ACCESSDENIIED commented 1 week ago

Strange. I'm not at my PC currently but the exact steps were:

Install plugin -> change from "all icons" to "new icons only" -> Disable (breaks, doesn't return to default tray icon area) -> restart explorer (still broken) -> enable -> uninstall -> restart Explorer (still broken).

If you're certain you cannot reproduce this then it's possible that this issue may be from unintended interference from another process.

I'll go through some more troubleshooting on my end later today and get back to you.