TortoiseGit not showing icon overlays Git图标消失

TortoiseGit not showing icon overlays

https://tortoisegit.org/support/faq/#ovlnotall

 

Windows will only allow up to 11 icon overlay identifiers, arranged in alphanumeric order - if there are more than 11, these icons will not be displayed.

You can run the following command in a DOS prompt:

regedit /e c:\icons.txt HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

Then open the file C:\icons.txt. Skip the first two lines, and if 1TortoiseNormal and the other *Tortoise* values are not in the top 11 values, their icon overlays will not be shown. The solution provided by @Chi Chan is just a simple way to make 1TortoiseNormal rank higher when ordered among all the overlays, you can also rename the values by adding space(s) before 1TortoiseNormal, i.e.,

" 1TortoiseNormal"

to make them rank higher.

update: for Windows 8, the limit of icon overlays is 15.

 

The overlay icons appear, but not all of them!

You may find that not all of these icons are used on your system. This is because the number of overlays allowed by Windows is limited to 15. Windows uses 4 of those, and the remaining 11 can be used by other applications. And if you have OneDrive installed, that uses another 5 slots. If you then have another cloud drive tool installed, those slots can be used up. TortoiseGit and TortoiseSVN try to be a "Good Citizen ™" and limit its use of overlays to give other apps a chance.

  • Normal, Modified and Conflicted are always loaded and visible (if possible!).
  • Deleted is loaded if possible, but falls back to Modified if there are not enough slots.
  • ReadOnly is loaded if possible, but falls back to Normal if there are not enough slots.
  • Locked is only loaded if there are less than 13 overlays already loaded. It falls back to Normal if there are not enough slots.
  • Added is only loaded if there are less than 14 overlays already loaded. It falls back to Modified if there are not enough slots.

You can check which other apps are using overlays by using Regedit to look at HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers (and also HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers on 64-bit Windows for 32-bit applications).

Other apps which are known to use overlays:

  • Windows itself. Vista and Win7 use more than XP.
  • SkyDrive
  • OneDrive
  • GDrive
  • Mega
  • Dropbox
  • OwnCloud
  • many others…

If there are too many overlay handlers installed and TortoiseGit does not show any overlays, you can try to delete some of the installed handlers from the registry. But be careful when editing the registry!

The overlay handler are loaded by the order of the ASCII code. Thus, you need to make sure the Tortoise* overlay handler has a high precedence to be honored. Deletion of other handlers is sometimes a bit tricky. But you can also try to prefix the Tortoise* entries with spaces and/or double quotes (") - in general there seems to be a real war going on who has the most spaces.

Please also see issue #692 and issue #2548 and this answer on StackOverflow for more user reports.

 

 

TortoiseGit Icon Overlays not showing

From https://tortoisegit.org/support/faq/#ovlnotall:

The number of overlays allowed by Windows is limited to 15. Windows uses 4 of those, and the remaining 11 can be used by other applications. And if you have OneDrive installed, that uses another 5 slots. If you then have another cloud drive tool installed, those slots can be used up. TortoiseGit and TortoiseSVN try to be a "Good Citizen ™" and limit its use of overlays to give other apps a chance.

You can check which other apps are using overlays by using Regedit to look at

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

If there are too many overlay handlers installed and TortoiseGit does not show any overlays, you can try to delete some of the installed handlers from the registry. But be careful when editing the registry!

Deletion is sometimes a bit tricky. You can also try to prefix the Tortoise* entries with spaces and/or double quotes (").

The overlay handler are loaded by the order of the ASCII code. Thus you need to make sure the Tortoise* overlay handler has a high precedence to be honored. This can be achieved by prepending spaces (as seen in the screenshot there is a real war going on who has the most spaces).

 

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(277)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2018-11-15 kentico检查当前授权用户,是否为admin角色
2016-11-15 signtool
点击右上角即可分享
微信分享提示