Skip to content

v0.15.18 — Finder「打开方式」里终于有 wtmd

Choose a tag to compare

@TonyMistark TonyMistark released this 23 Oct 02:51
· 40 commits to main since this release
540f8c9

v0.15.18 — Finder 认得出 wtmd 了

改 #208:对着 .md 右键 › 打开方式,列表里以前没有 wtmd。原因是两件事都缺——Info.plist 没声明文档类型(LaunchServices 不知道它能开 .md),AppDelegate 也没有 application(_:open:)(就算列进去,系统把文件送来也只会激活一个空窗)。

现在两半都补上了:

  • 注册:CFBundleDocumentTypes(Editor,LSHandlerRank = Alternate)+ 自声明的 cn.wtmd.markdown(conforms public.plain-text,认 .md / .markdown / .mdown / .mkd);
  • 接住:application(_:open:) 把文件交给 OpenRequest,由它决定落在哪扇窗。

文件落在哪扇窗:

情况 结果
这篇在别的窗开着 把那扇窗带到前面,不再开第二份
前台窗就是这篇 什么都不做
前台窗还是欢迎页 装进当前窗
前台窗正在写别的 另开一扇,不顶掉手上的稿子
多选打开 第一篇用空窗,其余各开一扇

LSHandlerRank 是 Alternate:wtmd 出现在菜单里,但不抢别人已经认领的默认程序。想让它当 .md 的默认打开方式:右键文件 › 显示简介 › 打开方式 › 选 wtmd › 全部更改。

如果装好后「打开方式」里暂时还没有 wtmd:LaunchServices 的候选只认常规位置(/Applications、~/Applications)。把 wtmd 放进「应用程序」后跑一次

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f /Applications/wtmd.app

或者重启 Finder 即可。验证方法:NSWorkspace.shared.urlsForApplications(toOpen:) 就是那个菜单用的 API。

测试 891 项全绿(新增 OpenRequestTests 6 条 + DocumentStore.isUntouched 1 条)。

升级:0.15.14 及之后的版本可点更新徽标直接升(装完自动重启);更早版本请手动安装本 dmg。