Reputation: 265
Am currently working on a project, and though I can add sidebar items by adding to the com.apple.sidebarlists.plist file then restarting Finder, I can't seem to know how to make the folder icons show up using its assigned custom icon.
Can anyone point me to a link or a solution that would make me do this? Thanks a bunch in advance!
Upvotes: 5
Views: 4388
Reputation: 6827
I don't know about the icons but I add items to the sidebar using the EBLaunchServices
wrapper which is available open source here:
https://github.com/Eric-Bro/EBLaunchServices
It is very easy to use. For instance to add a mounted OSXFUSE volume to the sidebar you call:
NSURL* volumeUrl = [NSURL fileURLWithPath:@"/Volumes/MyVolume"];
[EBLaunchServices addItemWithURL:volumeUrl toList:kLSSharedFileListFavoriteVolumes];
Upvotes: 1
Reputation: 265
I was too stubborn to not do the obvious. I did:
[[NSWokspace sharedWorkspace] setIcon:someIcon forFile:someFile options:0];
to set the image icon for the folder. I from then I did com.apple.sidebarlists.plist
NSUserDefaults
appending, and restarted Finder through Apple Events. That made it all work.
Upvotes: 0
Reputation: 96373
There's no supported way to do this using pure Cocoa. Use the LSSharedFileList API, instead. It's the supported way to manage the sidebar lists, and you can provide a custom icon (as an IconRef from Icon Services) when you insert an item.
Upvotes: 7