Overlays in 1.6.7
From: omega32 <omega32_at_gmail.com>
Date: Sat, 6 Feb 2010 23:38:25 -0800 (PST)
Hi,
After updating to version 1.6.7 some overlays stopped showing. Then I checked that all overlays where active in the settings and that no new overlays where registered at "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers". Everything seemed OK, so I downgraded to 1.6.6 and voilà, the overlays where back.
I know that overlays are a common source of problems for users, but the only time this happened to me was with version 1.6.4, and in version 1.6.5 the overlays where back again. This time I decided to find out what was going on. This is what I found:
Windows limits to 15 the amount of overlay icons that can be defined in the System Image List. Furthermore, Windows reserves some of those available spots for its own internal overlay icons. This leaves us with only 11 icons for Windows XP and just 10 in the case of Windows Vista (and I guess Windows 7 as well).
So, 11 for XP and 10 for Vista and Windows 7. Now, TortoiseSVN smartly disables some of its overlay icons to make room for those of other programs. After trying again all versions since 1.6.3, this is how TortoiseSVN disables icons in my system (I tried in both XP and Vista):
TortoiseSVN 1.6.2/1.6.3:
TortoiseSVN 1.6.5/1.6.6:
TortoiseSVN 1.6.4/1.6.7: perfect for Windows Vista but not so much for XP
So, I think the behavior of the latest version (1.6.7) is the best. It's perfect for Vista "but" when using Windows XP you're losing the opportunity to take advantage of one extra overlay icon before TortoiseSVN starts disabling its own. I, for example, use an application named "Link Shell Extension" that registers two (2) overlay icons, plus TortoiseSVN that uses nine (9). 9 + 2 = 11 = limit on Windows XP. So in XP I could successfully use both applications without losing any overlay icon.
Another thing I noticed while experimenting, is the way TortoiseSVN detects the amount of overlay icons registered in the system. Apparently it counts the amount of folders (subkeys) there are in the key "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers". The problem I see with this approach is that it would count as an overlay icon any key, regardless it being a valid overlay or not. I agree this shouldn't be a problem, "but" there is at least one instance where this could easily be of inconvenience: as it turns out, the very popular "SysInternals Autoruns" creates a key named "AutorunsDisabled" when you disable any overlay icon with it. This is the application I use to easily disable the overlay icons of other programs I care less (like Dropbox for example). A way of fixing this, although not perfect, would be to omit any key without a default value defined (the keys for valid overlay icons have the GUID as the default value, but the "AutorunsDisabled" key doesn't have anything). Or just omit the key "AutorunsDisabled".
------------------------------------------------------
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
|
This is an archived mail posted to the TortoiseSVN Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.