Right now I simply replace all icons with the Application Folder Icon but the future api will let the user choose an overlay or underlay icon.
This is done using Unsanity's Application Enhancer (see http://www.unsanity.com/haxies/ape/ ). My plug-in reimplements GetIconRefFromFileInfo, a Carbon function, in the following way:
So in version 0.1 icon overlays are done using Dynmic Override (from http://extendamac.sourceforge.net/\). There's no APE stuff involved so people don't have to be worried about it doing nasty stuff behind your back.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have a proof of concept for doing icon overlays:
- screenshot http://sailesha.com/cvs/iconOverlay.jpg
Right now I simply replace all icons with the Application Folder Icon but the future api will let the user choose an overlay or underlay icon.
This is done using Unsanity's Application Enhancer (see http://www.unsanity.com/haxies/ape/ ). My plug-in reimplements GetIconRefFromFileInfo, a Carbon function, in the following way:
MyGetIconRefFromFileInfo() {
___ cvsApp->GetCustomLayerForIcon(theFile, &layer, &layerType);
___ if (layerType == OVERLAY) {
______ CompositeIconRef(realIcon, layer, newIcon);
___ } else {
______ CompositeIconRef(layer, realIcon, newIcon);
___ }
___ return newIcon;
}
There's got to be a better way. Maybe icon badges? I'll take a look at it when I have more time.
Yeah, badges would be much nicer; IconServices already has support for them, and it looks much more like what TortoiseCVS does.
So in version 0.1 icon overlays are done using Dynmic Override (from http://extendamac.sourceforge.net/\). There's no APE stuff involved so people don't have to be worried about it doing nasty stuff behind your back.
How about using labels (if using 10.3)?