打开方式
打开方式(Open With) 是右键菜单里的一级子菜单:鼠标停上去就列出能打开这个文件的程序,单击其中一个即用它打开。上半段是系统认得的程序,下半段是你自己固定上去的那几个。本页讲这个子菜单怎么读,以及怎么在设置里挑要固定哪些程序。
Windows、macOS 和 Linux 上都有这个子菜单,取候选的路子各不相同,末尾那两条动作也不一样,见 各个系统上的差别。
子菜单的四段
在一个文件上右键单击,鼠标停在 打开方式 上,子菜单从上到下分成四段:
| 段 | 内容 |
|---|---|
| 默认程序 | 这个类型当前关联的程序,行尾标着 默认 |
| 系统推荐 | 系统关联表里认得的其它程序,与上一段之间没有分隔线 |
| 你固定的程序 | 分隔线以下,你自己在设置里钉上去的那几个,顺序也是你排的 |
| 末尾的动作 | 选择其他应用… 打开 Windows 自己那个对话框,只有 Windows 有;管理打开方式… 直接到设置页,三个系统都有 |
每一行左边画着那个程序的图标,目前只有 Windows 画得出来。图标读得慢时那一格先空着,随后补上,文字停在原处。
这几个程序是鼠标停上去那一刻才去问系统的,所以第一次停上去可能要等一拍。同一种文件类型在一次运行里只问一遍,之后再停上去就是立刻出来。
几种退化形态
| 情形 | 子菜单里是什么 |
|---|---|
| 选中的文件类型不一样 | 上面两段整个退场,一行灰字 所选文件类型不同,下半段照常 |
| 这个类型没有任何注册程序 | 上面两段退场,一行灰字 没有已注册的程序 |
| 一个固定项都没有 | 下半段一行灰字 还没有固定的程序 |
| 目标是文件夹 | 打开方式 这一项整个不出现 |
这几行灰字是说明,不是可以单击的项。
要改默认关联,走 选择其他应用… 那条(Windows)。Windows 不允许程序自己悄悄改掉文件类型的默认关联,所以这个子菜单里没有「始终用此打开」。系统那个对话框里有 始终使用此应用 复选框,改默认要在那里改。macOS 和 Linux 上没有这一条,改默认关联要去访达的「显示简介」或者系统自己的默认应用设置。
固定几个自己的程序
固定 就是把某个程序钉在子菜单的下半段,位置由你排,不受系统关联表的顺序影响。设置页在 操作 组里,叫 打开方式;子菜单末尾的 管理打开方式… 也到这一页,而且会顺手把范围选到你刚才右键的那个扩展名上。
- 打开设置,在 操作 组里单击 打开方式。
- 在 适用范围 那一行选这批固定项管哪些文件:全局 对所有文件生效,或者单击 + 扩展名 输入一个扩展名(输入框里的例子是 例如 .psd)。
- 单击 + 添加程序,在弹出的列表里挑一个。上方的输入框可以按程序名筛选。
- 用行尾的 ↑ / ↓ 调整先后,用 × 删掉一条。
一个都没固定时页面上写着 还没有固定任何程序。固定后它会出现在右键「打开方式」子菜单的下半段——不受系统关联表的顺序摆布。
同一个程序既固定在某个扩展名下、又固定在 全局 里时,只出现一次,按扩展名那一份的位置排。它同时又在系统推荐里出现时,出现的也只有你固定的那一条。
按扩展名固定的排在全局固定的前面。所以专门给 .psd 钉的那个程序,会排在「对所有文件都固定」的那几个之上。要调整同一层里的先后,用行尾的 ↑ / ↓。
子菜单选项
设置页最下面那一节 子菜单选项 管上半段出多少行:
| 设置项 | 作用 |
|---|---|
| 显示系统推荐的程序 | 关掉之后,子菜单里只留默认程序和你固定的那几个 |
| 系统推荐最多显示 | 3、5(默认)、8 或 全部。这个数含默认程序那一行 |
超出上限的程序不会消失:Windows 上仍然能在 选择其他应用… 那个对话框里找到,另外两个系统上把上限调大一档就出来了。
固定项存在设置目录下的 config.ini 里,就是 openwith_pin 那几行,页面底部也写着这句。
各个系统上的差别
子菜单的读法和固定项那一半三个系统完全一样,不同的只有上半段的候选从哪来、末尾有几条动作:
| 系统 | 系统推荐从哪来 | 末尾的动作 | 程序图标 |
|---|---|---|---|
| Windows | 系统的文件类型关联表 | 选择其他应用… 和 管理打开方式… | 有 |
| macOS | 系统的启动服务(和访达的「打开方式」同一份名单) | 只有 管理打开方式… | 暂时没有,那一格留空、行不塌 |
| Linux | freedesktop 的 MIME 数据库加各程序装的 .desktop 条目 | 只有 管理打开方式… | 暂时没有 |
选择其他应用… 只有 Windows 有,因为另外两个系统没有可以让程序调起来的同类系统对话框——摆一条点了没反应的项不如不摆。
Linux 上启动程序优先走 gio launch;系统里没装它(它属于 libglib2.0-bin)时,tessoa 自己解析 .desktop 条目里的启动命令,两条路都能用。
和自定义命令的分界
自定义右键命令 同样能做出「用 VSCode 打开」这样一条。两者的分界是:
| 想做的事 | 用哪个 |
|---|---|
| 拿某个软件打开选中的文件 | 打开方式。只要指定程序,没有参数要填 |
| 要带参数、要限定出现条件、要跑命令行 | 自定义右键命令。那里有名称、程序、参数、适用于四格 |
位置也不一样:自定义命令固定沉在右键菜单底部、自成一段;固定项和系统推荐并排在同一个子菜单里。