Listary 6 的一些功能建议
一些功能建议:
s1. Command 和 Menu 命令对 %file%
、%path%
、%filename%
等内置变量的支持。[V5]
这是 V5 的功能。现在只解析了 %path%
,但是这是因为有同名的 OS 环境变量。在重新支持这些内置变量的同时,可以考虑修改变量名或扩展符以避免与 OS 环境变量冲突。
Listary 的一大功能是「对指定文件或文件夹进行预定义操作」,V5 提供了 action、command、menu 命令三种途径来实现。action 的对象是搜索结果,后两者的对象是是相同的,即在 Explorer 这样的文件管理软件中选中的项目。这两种选择操作对象的方式是互相不可替代的。
s2. 添加对同时选中多个项目的情况的内置变量支持
这建立在上一个建议功能的基础上。一般以空格分隔多个文件名或完整路径,以便应用于命令行参数。
s3. 在 Menu 项目的名称中对字符 “&” 进行特殊解析 [V5]
前缀 “&” 的字符,以下划线标识。如果被标识的是西文字符,按下其对应的按键则选中该项目。如果按键对应的项目唯一,则直接打开或启动该项目。
这是 V5 的功能。
s4. 搜索含空格的字符串。
用常见的双引号方案即可。符号 \
应当可以添加在末尾(双引号内外皆可)以表示父目录。
s5. 增加 {query:1}
、{query:2}
等变量
我注意到 V6 的一个变化。在 V5 中,当用户输入以空格分隔的多个参数,{query}
只接收第一个参数。在 V6 中,{query}
接收用户输入的全部参数字符串,类似于批处理参数 %*
。添加形如 {query:N}
的变量,接收第 N 个参数 ,类似于批处理参数 %N
,可更好支持多参数的命令。参数解析又涉及到处理含空格的参数,引入引号又涉及如何对引号转义。
s6. 即时显示 {query}
接收的字符串 [V5]
这是 V5 的功能。V6 中的 Web Search 是即时解析替换 {query}
的,Commands 却没有。
如果添加了前面建议增加的 {query:N}
变量,也建议即时解析替换。
s7. 对 command 可选「仅在启动器模式显示」和「仅在文件搜索模式显示」 [V5]
「仅在启动器模式显示」是 V5 的功能,可避免在资源管理器中导航时因操作过快错误地运行命令。「仅在文件搜索模式显示」是因为一些命令根本不会在启动器模式下使用,例如使用了内置变量 %file%
和 %filename%
且期望它们不为空的命令(如果 V6 重新支持这些变量)。
s8. 从文件搜索模式切换到启动器模式后,保持已输入的内容 [V5]
V5 的功能。V6 会清空搜索框。
Bugs
b1. 在 Parameter 设置项中填写了 {query}
的 command,在调用时,如果参数留空,如果是 V5,不会运行该命令,V6 有了改进,仍会运行命令,但是须在关键字后输入空格,否则回车没有反应。
b2. 在 Parameter 设置项中填写了 {current_folder}
的 command,在启动器模式下无法调用,回车没有反应。在 V5 中可以运行命令,变量解析为空字符串。
b3. 在 Url 设置项中填写了 {query}
的非预置 web search,在调用时,如果参数留空,即输入 keyword
回车,则 {query}
会被解析为字符串 {query}
,就如同输入了 keyword {query}
回车,期望的行为应是解析为空字符串。此时还伴随另一个 bug——浏览器窗口会失焦。我的默认浏览器是 Firefox,没有测试过其他浏览器。
b4. 在激活 Options 窗口时,按快捷键显示 popup menu,会闪一下就消失。试过的快捷键有 Win + Alt + M 和 Win + .。
处理办法:
s1. 都会有。5中已经开始舍弃 %%
改用 {}
了。同时6里正在逐渐整合 Action、Command、Menu 命令三者的概念:
- Command 跟普通意义上的命令差别不大。Action 是作用于指定文件的一类特殊 command(以后含有
%file%
等参数的都是 action)。Menu 是 command 和 action 的鼠标入口。 - 目前已完成 menu 跟 command 的整合。Menu 命令不再独立存在,现在 menu 是直接调用那些有 keyword 的 command,添加 menu 时可引用已有 command。
- Menu 跟 action 的整合会稍后进行,主要因为选中文件后再激活菜单有诸多不便(除了中键外其他方式易误操作)。
- 会支持在资源管理器中选中的文件上直接激活 Actions。
s2. 会等到核心部分(文件搜索、Actions 等)有完善的文件多选概念后再考虑。
s3. 已添加,会在下个更新放出。因跟随 Windows 10 的规范有一些调整:
&
标记改为下划线_
。- 需打开一项系统设置,否则功能可用,但是下划线不显示。
s7. “仅在启动器模式显示”是5中的功能,在6中搜索算法调整后几乎用不上。即便极个别情况下在资源管理器中出现命令干扰搜索结果的情况也可以通过输入个空格快速解决。
缺失必要运行变量的命令将不会再出现在搜索结果中, 所以“ 仅在文件搜索模式显示”应该也用不上。
s4. s5. s6. s8. 会有。
b1. 期望的结果是怎样的?目前计划是参数中如有 {query}
则要求强制输入,另外增设一个 {query?}
,允许不输入,会用空字符串替换。
b2. 同上,{current_folder?}
。
b3. 同上, {query?}
。绝大部分用到 {query}
的都是进行搜索,默认传空串意义不大。
b4. 会修(影响较小,低优先级)。