【问题标题】:Adding badges to file icons in Finder在 Finder 中为文件图标添加徽章
【发布时间】:2009-08-09 07:36:27
【问题描述】:

我正在家里做一个小项目,该项目会根据特定文件的状态向特定文件添加徽章(又名图标覆盖)。无论如何,我已经用谷歌搜索了它,我能找到的唯一文档是在 Apple 的开发者网站 (Obtaining and Using Icons With Icon Services) 上。

文档希望开发人员熟悉 Objective-C 文件 API,而我并不熟悉。所以,我想知道是否有人可以给我一些将徽章添加到文件和目录的代码示例。提前致谢!!

【问题讨论】:

    标签: objective-c icons overlay finder


    【解决方案1】:

    如何深入研究SCPlugin 的来源。我相信他们正在做一些有效的事情。代码在这里http://scplugin.tigris.org/svn/scplugin/trunk,用“guest”登录,没有密码。我不会说这很容易......


    (来源:tigris.org

    【讨论】:

      【解决方案2】:

      您发布的链接是针对 Carbon(MacOSX 之前的)API 的。虽然它可能在 10.5 的 Carbon finder 中工作,但 10.6 中的 Finder 是纯 Cocoa,因此在这方面可能不支持徽章的概念。

      您可以使用 NSDockTile 将徽章添加到 Dock 中的应用程序,但您在整个应用程序的文档中不会有太多运气。您要么需要通过其他机制监控文档,然后使用 QuickLook 插件来生成具有任何状态的小型化视图。

      如果做不到这一点,您可以为文档编写自己的视图(您可以在其中添加此类信息),而不是使用 Finder。

      【讨论】:

        【解决方案3】:

        10.6 中的 Finder 可以使用 SIMBL 破解 plugin ,你只需要使用 swizzling 方法在 Finder 中重新实现 drawWithFrame 方法即可。

        【讨论】:

          【解决方案4】:

          这个问题已经存在了一段时间,但我知道人们仍在寻找,所以这里有一个完整的解决方案,用于使用方法 swizzling 在 Lion 和 Mountain Lion 中的 Finder 图标徽章和上下文菜单。

          Liferay Nativity 提供了一个脚本包,它将调动相关的 Finder 方法和一个用于设置图标和上下文菜单的 Java 客户端。它还包括适用于 Windows 和 Linux 的等效项目。

          该项目是 LGPL 下的开源项目,因此请随时贡献任何错误修复或改进!

          【讨论】:

          • Liferay Nativity 有计划支持 Python 吗?
          • 我们目前还没有开发 Python 客户端,但是所有的通信都是通过套接字进行的,所以移植 Java 代码应该不会很困难。我实际上正在与另一位正在编写一些 Python 客户端代码的开发人员进行讨论。我们最终可能会将他的代码添加到 repo 中。
          • 是否有关于如何在最终用户机器上安装 Liferay Nativity 作为另一个应用程序的一部分的示例/说明?我不希望他们必须以“root”身份安装。
          • Nativity 当前使用 ScriptingAdditions,它始终需要提升的权限(将脚本复制到 /Library/ScriptingAdditions 或在 ~/Library/ScriptingAdditions 中调用脚本)。我认为任何其他方法(如 SMJobBless)仍然至少需要一次管理员权限。
          猜你喜欢
          • 1970-01-01
          • 2015-07-24
          • 1970-01-01
          • 1970-01-01
          • 2017-12-12
          • 1970-01-01
          • 2012-08-12
          • 2019-08-31
          • 1970-01-01
          相关资源
          最近更新 更多