向Finder工具栏添加按钮?

can*_*boy 23 macos cocoa finder dropbox nstoolbar

Dropbox可以选择向Finder工具栏添加按钮.它甚至出现在"自定义工具栏..."窗口中.我找不到任何关于如何完成此类事情的文档....有谁知道如何做到这一点,或者任何人都可以指向我一些文档或示例代码?

编辑一:

我想一个开始就是找到现有图标的位置,以及任何相关的代码.

我注意到Dropbox在Library/DropboxHelperTools/Dropbox_u501中有一些名为mach_inject_bundle_stub.bundle和FinderLoadBundle的文件可能正在发挥作用.Dropbox还在Finder图标上添加了"tick"徽章.可能涉及此代码:github.com/rentzsch/mach_star

编辑二:Rian Hunter关于这个过程的Dropbox演讲就在这里,大约15:30 http://blip.tv/pycon-us-videos-2009-2010-2011/pycon-2011-how-dropbox-did-它和如何的Python-帮助-4896698

查看Dropbox_u501中的DropboxBundle文件显示了图标和一些已编译的代码.代码表明Rian Hunter是作者:http://twitter.com/timeserena

Rian在他的github上有他自己的Mach Star代码版本 - https://github.com/rianhunter/mach_star - 这看起来好多了

编辑三

几周前斯坦福大学举办了"代码注射研讨会" - http://stanfordacm.com/past/--由Rian主持.如果有人有这方面的说明,请告诉我!

Par*_*fna 9

您可以使用Finder Sync 应用程序扩展(从OS X v10.10开始).

Finder Sync扩展程序可以:

  • 添加,删除和更新受监视文件夹中项目的标记和标签.
  • 当用户按住Control键单击受监视文件夹中的项目时,显示上下文菜单.
  • 将自定义按钮添加到Finder的工具栏.


dus*_*uff 8

Dropbox使用的是无证魔法.没有官方支持的方法来做到这一点; 没有逆向工程就能获得的最接近的是服务.

(更新:从macOS 10.11开始,Dropbox正在做什么根本不再可行.系统完整性保护现在可以防止代码被注入到系统进程中,例如Finder.)

  • 最接近你可以成为Finder工具栏项的是一个可以打开文件和/或文件夹的应用程序.任何此类应用程序都可以由用户手动添加到工具栏中(尽管它不会显示在自定义工具栏中).Time Machine是一个很好的应用程序来演示这一点. (3认同)