系统偏好设置 > 外观 > 最近项目数量 > 文档设置是全有或全无。
有没有办法[允许|阻止]基于[文件扩展名|应用程序|种类]向文档列表添加内容?
我可能希望 Word 文档出现在列表中,但不包括图像。或者允许 VLC 包含文件,但不允许 Xee 包含。
AppleScript 可能有意义。
** 编辑 ** 脚尖是一个潜在的解决方案。
答案1
这不是由单个应用程序手动执行的,而是由发射服务。
kLSLaunchDontAddToRecents
但是,应用程序可以决定不将它们添加到最近的文件/应用程序菜单中,方法是设置LS启动标志例如调用时LSOpenFromRefSpec。
现在,您可以自己修改开源应用程序,或者修补它们的二进制文件,或者在内存中修补它们,例如使用输入管理器。第一个选项可能工作量太大,其他选项则简直疯狂。
本质上,没有(理智的)方法可以改变这种行为。
当然,你可以~/Library/Preferences/com.apple.RecentItems.plist
使用以下命令拦截这些列表中所有项目的更改:名字你不喜欢。
答案2
免责声明:我是脚尖您在问题编辑中提到的应用程序。
看起来 Tiptoe 确实可以在某种程度上满足您的要求。
下面描述了 Tiptoe 的工作原理。此过程可用于开发执行类似任务的脚本或程序。(我对 AppleScript 了解不够多,不知道是否可以这样做)...
- 您使用 Tiptoe 打开应用程序。Tipptoe 将该应用程序首选项文件保存到临时位置。
- 然后使用以下调用打开应用程序:NS工作空间使用选项来防止它被添加到系统 > 最近项目应用程序列表。
- Tiptoe 等待来自 NSWorkspace 的消息告知它应用程序何时退出。
- 当它检测到应用程序已退出时,它会将先前存储的最近项目列表与现在的偏好设置中的项目列表进行比较。
- 它从系统 > 最近项目使用文件列表发射服务。
- 然后,它会从当前存储的偏好设置中删除相同的项目。
- 它会删除步骤 1 中存储的临时文件,因为这些文件不再需要。
使用 Tiptoe 的缺点是它只适用于它所构建的特定应用程序,但每次发布都会添加新的应用程序,并且欢迎提出请求。
如果您有兴趣尝试 Tiptoe,可以从网站下载并享受 15 天的免费试用期。