Dropbox如何在Finder边栏中获取图标?


40

当其他目录(例如Google Drive和Sites(Lion之前在OS X中为本地))都具有相同的通用目录时,Dropbox会如何在Finder的侧边栏中获得非通用图标?

在此处输入图片说明

如何自定义边栏中文件夹使用的图标?OS X过去只显示那里所有文件夹的图标,不再显示。

Answers:


36

您已经注意到,最新版本的OS X仅在边栏中显示通用文件夹图标。那么为什么Dropbox会得到特殊待遇?

简短的答案是Dropbox使用未公开的API来完成此任务。用非技术术语来说,这是Dropbox应用程序安装的特殊技巧。


StackOverflow上的一些好奇的人发现了Dropbox使用的特定机制:很好。同一捆绑包同时提供了工具栏项和侧栏图标。

如果您感到好奇,资源文件位于此处(至少在我的系统上):

/Library/DropboxHelperTools/Dropbox_u502/DropboxBundle.bundle/Contents/Resources

显然,Dropbox竭尽全力以无缝集成到Finder中。由于缺乏类似的处理方式,其他普通文件夹的边栏中仅具有通用图标。


编辑10/1/2015:从优胜美地(10.10)开始,有一个新的,经过认可的Finder Sync API用于集成,这是多佛尔在另一个答案中指出的。在El Capitan(10.11)中,系统完整性保护将不允许使用旧的mach_inject风格的方法。


5
Google应该对Drive进行同样的操作:)
堡盟

Dropbox Finder集成与El Capitan一起使用。我在侧边栏中有上下文菜单,徽章和自定义图标。您正在使用哪个版本的客户端?
Matteo

@Matteo:很有意思,当我去检查版本(v3.10.6)时,它开始工作了!我向你保证,它以前没有用过。有趣的...
jmk 2015年

1
@Matteo:啊哈,我的阅读理解失败了。有人已经在下面发布了更新的API。感谢您的指正!
jmk 2015年

10

根据Finder同步扩展的文档:

您还可以使用扩展点的API将工具栏按钮添加到Finder窗口中,或将被监视文件夹的侧边栏图标添加到。

我想这就是Dropbox用来实现此功能以及此扩展所促进的一些/所有其他功能的方式。例如,您还可以:

  • 注册一组要监视的文件夹。
  • 当用户开始或停止浏览受监视文件夹的内容时接收通知。例如,当用户在Finder或“打开”或“保存”对话框中打开受监视的文件夹时,扩展程序会收到通知。
  • 在受监视的文件夹中的项目上添加,删除和更新标志和标签。
  • 当用户按住Control并单击受监视的文件夹中的项目时,显示上下文菜单。
  • 将自定义按钮添加到Finder的工具栏。

编辑:

正如Mugen在下面提到的,El Capitan将不允许代码注入,因此FinderSync成为唯一的选择。对于仅从10.10起可用的FinderSync,最好的选择是像这样:

if (floor(NSAppKitVersionNumber) < NSAppKitVersionNumber10_10) { ... }

这似乎与最受好评的答案相冲突,有何评论?
堡盟

3
@Baumr我只是在这里推测,但我认为jmk的回答当时可能是正确的(并且可能仍然是正确的),但是自从优胜美地发布以来,保管箱现在更有可能使用“官方” Finder Sync扩展。另外,我认为对于尝试在自己的应用程序中实现相同功能的用户而言,这将是更有用的解决方案,因为它已被记录在案。
2015年

听起来您是对的-可以确认吗?
堡盟

2
在埃尔- Capitan的,我们将不能够再注入代码,所以FinderSync选项是唯一一个
木根

1
@Baumr,因为FinderSync扩展仅在10.10+中可用,我认为最好是这样:if (floor(NSAppKitVersionNumber) < NSAppKitVersionNumber10_10) { ... }
Mugen 2015年

2

从-http: //www.trankynam.com/xtrafinder/安装最新的Xtra Finder应用程序

打开“在侧边栏中显示色彩鲜艳的图标”,它位于“最大宽度”文本框下方

对于补充工具栏中的其他图标

在此处替换文件:/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/文件夹除了[未使用] 1024x1024彩色ICNS文件之外,还包含使用的灰色ICNS。每个ICNS文件必须支持以下大小:

  • 16x16 72 DPI
  • 18x18 72 DPI
  • 32x32 144和72 DPI
  • 36x36 144 DPI
  • 64x64 144 DPI

如果您已在边栏中添加了自定义文件夹,则也可以更改其图标。假设该文件夹名为“ Softwares”,请在上述目录中准备一个名为SidebarSoftwares.icns的ICNS文件。

基本上,icns文件需要命名为SidebarFoldername.icns,其中Sidebar保持不变,然后输入相关的文件夹名称。

对于DropBox

将ICNS文件应用于/ Users / admin / Dropbox /Applications/Dropbox.app /Applications/Dropbox.app/Contents/Resources/box.icns(需要将此文件替换为所需的文件)

DropBox Finder边栏图标

导航到/Library/DropboxHelperTools/Dropbox_u502/DropboxBundle.bundle/Contents/Resources

在这里,您需要替换以下内容:toolbar.tiff(32x32像素72 DPI)

sidebar.tiff(64x64像素72 DPI)

contextmenu.tiff(32x32像素72 DPI)

toolbar_large.png(19x19像素72 DPI)

sidebar_blue.png(16x16像素72 DPI)


有关为文件夹添加自定义边栏图标的要求是否需要安装该应用程序,还是可以单独完成该应用程序?另外,您知道该方法发布后是否可以与优胜美地一起使用?
dhruveonmars 2014年

1
我只是尝试添加自己的图标,但它没有用。然后,我安装了SideEffect应用程序,该应用程序使图标变为彩色,并且出现了自定义图标。卸载了该应用程序,我的图标消失了。
潘涅夫

1

Dropbox使用Finder代码注入技术自定义侧边栏图标(并在右键菜单中添加项目,并在Finder顶部栏中添加按钮)。从10.7开始,没有自定义边栏图标的好方法。

苹果在优胜美地(Yosemite)中添加了一些API,以能够自定义Finder的右键菜单和工具栏项,但是我不确定边栏。


说到优胜美地,我相信Dropbox现在使用Finder Sync扩展程序来与Finder集成...但是我在该功能的文档中看不到关于提供自定义侧边栏图标(支持自定义工具栏图标)的任何内容...因此,黑客可能仍然存在。
Dan J

当然,这就是Finder同步扩展程序。但这不允许侧边栏图标。但是我对角地阅读了文档,所以可能错过了一些东西。
Nickolay Olshevsky 2014年

0

Dropbox安装程序将其放置在那里,而Google Drive安装程序则没有。

只需将文件夹拖到侧栏中,它就会粘住,无需安装程序。


10
我认为问题特别是关于图标的。
asmeurer

是的,这没有解决问题
Baumr

2
如果可以的话,我会再次投票。这只是代码,而Dropbox安装程序会在后台运行时安装此功能。这就像开派对,您邀请两个客人。一个将名片留在您的梳妆台上,另一个则不留。做出选择的不是主人,而是客人的举止有所不同。
bmike

2
@bmike,问题的第二部分是:“如何自定义边栏中文件夹使用的图标?”
堡盟

0

我能够在移动的“下载”文件夹的侧边栏中获得本地“下载”图标。这个过程并不容易,在这里进行了描述:https : //github.com/w0lfschild/colorfulSidebar_9/issues/1 它依赖于mySIMB和colorfulSidebar。3年前,我放弃了设置本机下载图标的设置。今天,我决定给另一个机会,最终它开始起作用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.