Listary 6 的一些功能建议

c3. 文件搜索模式下 Listary 为何不获取焦点?

这似乎是有意设计的,但是目前带来一些问题。

  • 输入搜索串后,按 BackspaceDelete 不是删除搜索串的字符,按 Ctrl + A 不是选中搜索串,所以完全无法在不借助鼠标的情况下修改搜索串,而且这些按键还会发生不预期的导航和文件操作。

  • Ctrl + O 无法调出 Action。只能用鼠标右键。

  • Esc 无法关闭 Listary 搜索窗口,除非先用鼠标点击获取焦点。

  • 键盘操作无法滚动搜索结果列表,而是切换资源管理器中选中的文件。

写到上面一行时,我想双击 Ctrl 调出 Options 来看看还有什么快捷键可能受影响,结果发现启动器搜索框也出了问题,打字不上屏,上的还是浏览器里这个帖子回复的编辑框。于是我意识到可能是 bug,上述问题都可能是 bug,不是原先以为的功能问题。重启 Listary 之后,这些问题全都消失了。 那我就把这个当 bug 报告吧。

嗯,目前使用双击 Ctrl 作为快捷键时在某些情况下焦点有点问题,正在测试多个解决方案。

b8. rime/weasel 输入法总是以中文状态开始。正常情况下,在其他软件中,rime 会记住在每一个窗口的中英文状态,如果切换过状态。不知道这是 Listary 还是 rime 的问题。另外一个问题是 rime 和 Windows 自带输入法(只测试了一个双拼)都会遇到的,就是在即时搜索中,第一个按键总是以英文状态输入。似乎有人报告过类似现象。

更新:如果开着 Listary Options 窗口,rime 就会记住 Listary 搜索框的中英文状态。还有一个意外的现象是,如果从 Options 窗口切换到 Explorer 窗口,并进行即时搜索,在敲入搜索词后按 Esc,就会激活 Options 窗口。

b9. 升级时出错。从 6.0.2.10 到 6.0.2.11,记不太清了,大概是在安装前还是安装后弹出了错误对话框,但是使用似乎正常。从 6.0.2.11 到 6.0.2.12,重复了这个现象,并且安装时桌面崩溃了 (Windows 7 x64)。

s18. Actions 能像 V5 一样通过勾选来启用吗?比如有些 Action 是测试性的,有个手动控制启用禁用的方法比较方便,根据扩展名来显示 Action 的方案照顾不到这种情形。

s19. 在搜索时同时使用多个 Filters,有计划支持吗?

我是在 Windows 10 上使用 Rime ,你需要在 Rime 的设置里面设置打开 Listary 时候的状态,设置以后打开 Listary 就是英文。下面是我的设置(在 weasel.custom.yaml 文件里面):

patch:
  "app_options/listary.exe":
    ascii_mode: true
1 Like

谢谢建议。

感谢反馈!

b8. 输入法问题以后会有更细致的处理。
b9. 目前还没能重现,会保持关注。

s18. s19. 会支持。

6.0.2.14 已实现或解决

s1 的一部分。实现了对资源管理器中选中的文件进行操作,方式是 Action Hotkey。另外似乎将用户设置中的 %path% 自动替换为 {current_folder} 了。

s3. 使用下划线 _

s6

b1-b3 的解决方案 {query?}{current_folder?}

s13

b8. 测试了 rime,在启动即时搜索之前和之后分别维护着一个会话,中英文状态互相独立。(更新:用了一段时间后,问题重新出现。)

b9. 第一次升级失败,第二次成功。没有出现报错和桌面崩溃。

6.0.2.14 的一些问题

i1. 首次升级后,语言设置为 English 时,CommandAction 仍然显示为中文。但是重启 Listary 后问题消失。这个是一次性解决的,也许不算问题,姑且记录一下。

i2. 新增的 Hotkey Scope,可选值中的两个是 ListaryFile Explorer

  • i2.1. Command HotkeyScope Listary 在启动器模式下如果未输入搜索串或输入后清空,则 Hotkey 无效;有搜索串或翻阅历史搜索并清空后,Hotkey 有效。这是问题之一。
  • i2.2. 问题之二是 Command Hotkey Scope File Explorer 在资源管理器中,无论是否已激活即时搜索,都有效。所以 Command 的这两个 Scope 有交集——激活 Listary 即时搜索后,稍觉混乱。
  • i2.3. 而 Action HotkeyScope File Explorer,在资源管理器和 Listary 的两种模式下(只要选中搜索结果中的文件类对象)都有效。这与 Command Hotkey Scope 的表现不一致,也与名称含义不符,这是问题之三。或许改个 Scope 名称即可,因为功能本身应该是合理的。

i3. 关于 s3 中的下划线 _,与 CommandMenu 的整合存在一个矛盾,即 _ 仅在 Menu 中有特殊含义和作用,而在 Command 中是原样显示。不过这是一个小问题,不影响命令功能。

i4. Filters 现在优先显示搜索的目录了,但仅在启动器模式下优先显示,而且当设置了多个目录时,仅显示第一个。

感谢反馈!

b1 - b3 其实还未实现,后续版本中会支持。
b8 之后会重新设计下输入法支持。

i1 已知问题,影响不大(大部分用户不会手动切换语言),先不修了。
i2 几个 Scope 是从小到大的关系,其中大的完全包含小的。没输入时无效的问题已记录,之后会修复。
i3. 有空再修……
i4. 后续 beta 中会改善。

i5. 内置的 Command - PowerShell 的启动参数最后一项推测为

-command "cd ""{current_folder}"""

应改为

-command "cd -LiteralPath '{current_folder}'"

理由是

  • {current_folder} 可能包含 “$”,导致 PowerShell 扩展变量或对表达式 $(expression) 求值;可能包含反引号 “`”,这是 PowerShell 的转义符。解决方法是使用单引号 ' 或分别转义写为 “`$” 和 “``”。不过 {current_folder} 也可能包含 ',所以使用单引号时还需要路径中的单引号双写。
  • {current_folder} 可能包含 [],这在 PowerShell 中是一种通配符,避免方法是使用参数 -LiteralPath

所以一个完善版本的示意是

-command "cd -LiteralPath '{current_folder:s/'/''/g}'"
2 Likes

感谢反馈!已测试更新完毕。

i6. 设置界面的问题。不限于但以 Commands 为例,如果命令较多,点击靠下方的命令 command1 后,被选中的却是 command1 下方的 command2。

应该是界面动态调整布局的问题,我看下。

i7. 从几个版本之前开始注意到,一种常见的出错崩溃的情况是在使用 “\” 指定父目录时,有时重启 Listary 后对同一目录还能复现错误。

感谢反馈,关注这个 bug 有段时间了,有没有什么概率比较高的重现步骤?

还没发现。以前能重现错误的目录,后来没有再出错了。印象较深的一个是 “rime\”,出错崩溃后,只能强行结束所有 Listary*.exe 进程,重启 Listary 后直接搜索了 “rime\”,又出错崩溃,就这样循环了几次。也不记得是在什么时候这个搜索不再出错了。

刚刚退出 Listary 时报错了,导致为了用 Snipaste 截这个图,点击保存截图文件就会卡死。最后是截图复制到内存中,结束 Listary 进程后再保存下图片的。

OS: Windows 7 x64
Listary: v6.0.2.14

收到,会测试。

进一步观察到,只有当 Firefox 为活动窗口时调出 Listary 才会有此现象,短暂获得焦点后失去。也就是说,如果调出 Listary 之前,活动窗口不是 Firefox,那么最后 Firefox 窗口就会被激活,且不会失去焦点。

1 Like

i8. 用户对 Action 的搜索串也在文件/程序搜索历史中。合理做法是不记入历史或记入 Action 搜索历史,但目前搜索 Action 不能调用历史。

收到已记录。