开发者

Add custom menu items to the Finder context menu

How do I add custom menu items to the context menu for files in Finder?

Unfortunately, most of the information out on the Internet and on Stack Overflow doesn't work in 10.6 or are too limited. Automator, for example, doesn't allow you to create items dynamically or create submenus.

I know it's still possible to do this sort of thing because Dropbox and FolderGlanc开发者_运维技巧e both do similar things. Does anyone know how they implemented this?

Thanks.


For what it's worth, Dropbox now uses mach_star for code injection. Obviously this is a fragile solution. If you look through their version history, many of their updates are to fix finder integration.


In macOS 10.10+, Finder Sync Extensions can be used to add items to the Finder context menu. This is how modern versions of Dropbox and similar apps customize the right-click menu.

Add custom menu items to the Finder context menu

For those just seeking to use the functionality, not develop their own app extension, I've released a Mac app that allows for arbitrary customization of a Finder Sync Extension:

Service Station - Mac App Store

Add custom menu items to the Finder context menu


I downloaded FolderGlance and it appears to use an osax (Scripting Addition) bundle to inject code into the Finder process. This is definitely fragile and unsupported.

As far as I am aware the only legit way to add items to the Finder contextual menu is to create a Service, but that doesn't solve your problem.


Up to to the OS X 10.9.x only injecting code to Finder process via mach_inject was a solution (and even Dropbox did that). However since 10.10 there are Finder plugins, which can customize context menus, add buttons to Toolbar and put overlays over file icons.


They used CFPlugIn to add their menu items.

More on it here: http://developer.apple.com/library/ios/#documentation/CoreFoundation/Reference/CFPlugInRef/Reference/reference.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜