Appunti di vita in ordine sparso

Icone di TortoiseHg con Windows 10

Dopo aver aggiornato Windows 7 a Windows 10 (versione Professional, 64bit) i simboli di TortoiseHg in sovrimpressione alle icone non mi venivano più mostrati correttamente.

Dopo i “classici” tentativi di aggiornamento, disinstallazione-installazione, disinstallazione-pulizia-installazione… Dopo il fallimento di ognuno di questi tentativi… In un primo momento ho pensato ad un’incompatibilità tra TortoiseHg e Windows 10.
Poi invece, in seguito ad una più approfondita ricerca, ho scoperto dell’esistenza della chiave di registro “ShellIconOverlayIdentifiers“:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

All’interno di questa chiave è presente un elenco di tutte le overlay icons della shell di Windows; dunque qui non vi sono solo i riferimenti ai simboli utilizzati da TortoiseHg, ma di ogni altro programma che sfrutta tale funzionalità del sistema per “marcare” file e cartelle (Google Drive, DropBox, OneDrive, Mozy, ecc.).

Il problema, con la chiave ShellIconOverlayIdentifiers (problema che, ad oggi, affligge tutte le versioni di Windows), è che vengono gestite solo le prime 15 voci nell’elenco.
L’aggiornamento a Windows 10 ha aggiunto all’elenco delle voci (tra cui OneDrive, che non utilizzo e che ho provveduto quasi immediatamente terminato l’aggiornamento a disabilitare) che hanno portato quelle di TortoiseHg oltre la 15° posizione… Da questo spiegato il problema.


Fix

Per ovviare a questa problematica, l’unico sistema è quello di decidere quali sono le icone alle quali non possiamo rinunciare e quali sono, invece, quelle sacrificabili. Dunque, basta rinominare le voci contenute nella chiave ShellIconOverlayIdentifiers in modo tale da avere nelle prime 15 posizioni le prescelte.

In modo analogo a come ha fatto Google con le voci relative a GoogleDrive, ho aggiunto davanti al nome delle 9 voci create da TortoiseHg uno spazio e… “Le jeux sont fait“.

Finalmente posso ancora capire da Explorer lo stato della sincronizzazione dei file dei miei progetti.