Add custom menu items to the Finder context menu

懵懂的女人 提交于 2019-12-13 13:35:03

问题


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 FolderGlance both do similar things. Does anyone know how they implemented this?

Thanks.


回答1:


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.




回答2:


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.




回答3:


You can now use a Finder Sync Extension to add items to the Finder Context Menu in OS X 10.10 Yosemite:

https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Finder.html




回答4:


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.




回答5:


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



来源:https://stackoverflow.com/questions/6461643/add-custom-menu-items-to-the-finder-context-menu

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!