[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

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:
12 : none (though it should)
13 : ignored + added
14-15: unversioned + locked

TortoiseSVN 1.6.5/1.6.6:
12: none (though it should)
13: none (though it should)
14: unversioned
15: ignored
16: locked
17: added

TortoiseSVN 1.6.4/1.6.7: perfect for Windows Vista but not so much for XP
11: unversioned (should start at 12 for Windows XP)
12: ignored
13: locked
14: added

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.
I think a good solution would be to start disabling at 12 when XP is detected or at 11 with Vista or newer. It could also be a hidden registry setting where one could configure this behavior.

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".

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2445559

To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-02-07 08:39:39 CET

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.