![]() |
1
28
https://github.com/lesnie/Finder-Icon-Overlay 我知道这已经很老了,但有些人可能仍然对这个话题感兴趣(?) 下面是我在Leopard(10.6)下所做的。首先需要合适的查找器标题。使用类转储工具获取它。然后以SIMBL插件的形式编写代码(请参阅如何实现的文档),并使用一些方法。例如,要在ListView中的图标上绘制某些内容,必须覆盖Ticon的drawIconWithFrame:method和TextCell method。
我正在用我的方法“FT_drawIconWithFrame:”覆盖“drawIconWithFrame:”方法。下面是此方法的示例实现。
本质上,它在文件名以字母“A”开头的文件的每个图标上绘制“myPrettyIconOverlayImage”。这个逻辑取决于你。
由于Lion中的更改,一些工作必须从头开始(创建新的“Finder.h”文件,其中包含所需的所有声明,找到适当的类和要重写的方法),但这种技术仍然有效。
|
![]() |
2
26
对于约塞米蒂(MacOS 10.10及更新版本),您可以使用苹果的 FinderSync framework ,它允许查找器扩展:
|
![]() |
3
18
仍然需要用COM弄脏你的手。如果您查看SCPlugin项目的SCFinderPlugin子项目,您会发现它遵循与第一个链接中概述的完全相同的技术,包括为COM设置vtable、编写AddRef/ReleaseRef函数等等。编写一个插件,同时管理旧式的碳内存管理、COM风格的内存管理和Cocoa/新型的碳内存管理,这可能是一个令人难以置信的痛苦,而且完全忽略了一个事实,即您将在三个或更多完全不同的API中进行交互,使用不同的命名约定和调用语义。称这种情况为歇斯底里的贫困是一种轻描淡写的说法。
|
![]() |
4
15
我为一个专有项目做了这件事。我可以告诉你,之所以没有这方面的示例或教程,是因为这是一项非常困难和耗时的开发任务。因此,对于已经完成这项工作的个人或组织来说,有足够的动机来密切关注其流程的细节。 如果有任何方法可以使用服务API实现您的目标,那么就这样做。编写Finder插件需要1-2分钟 数月的艰苦开发和对C和Objective-C内部结构的深入了解。 如果你仍然相信你想这样做,抓住它 mach_star . 祝你好运 |
![]() |
5
2
据我所知,Finder没有官方的插件架构。您可以通过外部应用程序将图像覆盖添加到图标上,而无需连接到Finder,尽管它不会在运行中。我认为除了文件夹操作和自动机之外,没有其他方法可以添加上下文菜单项。您还可以考虑编写一个外部应用程序,使用 FSEvents API . |
![]() |
6
2
这是一个完整的解决方案,用于使用Les Nie描述的技术在Lion和Mountain Lion中查找图标徽章和上下文菜单。 Liferay Nativity 提供一个脚本包,该脚本包将swizzle相关的Finder方法和用于设置图标和上下文菜单的Java客户端。它还包括Windows和Linux的等效项目。
|
![]() |
7
1
采摘不多;我一直不清楚Finder插件是否得到了支持。不过,还有一些线索:
|
![]() |
8
0
Liferay Nativity 图书馆 我在报告中也提到了这一点 another SO post ,其中还包含指向苹果“Finder Sync”文档和API的链接。 |
![]() |
Noah H · 如何通过终端或Swift禁用三指轻拍手势? 7 年前 |
![]() |
Dmitry Serov · 货币数字格式-数字为整数时省略分数部分 7 年前 |
![]() |
Duny · ObjC日期始终返回2017年12月25日 7 年前 |
![]() |
Jan Kaiser · NSButton不调用其操作 7 年前 |