Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐞 反馈问题:升级到2.10后,不定时出现 Select Translate 快捷键激活的窗口显示是上一条记录,而不是当前选择的文本 #738

Closed
5 of 6 tasks
flyisland opened this issue Nov 30, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@flyisland
Copy link

请先确认以下事项:

  • 请务必查看 常见问题
  • 已仔细阅读了 README
  • issues 页面搜索过问题(包括已关闭的 issue),但未能找到解决方法
  • Easydict 已升级到 最新版本
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

问题描述

升级到2.10后,不定时出现 Select Translate 快捷键激活的窗口显示是上一条记录,而不是当前选择的文本。现在用最新的 2.10.1还是一样的结果

该问题是否可以稳定重现?

可重现

重现步骤

看起来是一段时间,可能是十几分钟后,第一次用的就会这样。然后就正常了。但如果又有一段时间不用,再次用又可能出现这个问题

截图

具体情况请看录频

Recording.at.2024-11-27.17.36.43.Cropped.in.2024-11-27.17.37.38.mp4

还有刚刚的截图

image

运行日志(zip 文件)

com.izual.Easydict 2024-11-30--03-27-06-657.log

期望结果

每次都查询当前选择的文本

解决方案(可选)

No response

设备型号 && 系统版本

macOS: 14.6.1 (23G93)

是否愿意提交 PR 解决该问题?

  • 我愿意提交 PR 来解决该问题
@flyisland flyisland added the bug Something isn't working label Nov 30, 2024
@tisfeng
Copy link
Owner

tisfeng commented Nov 30, 2024

奇怪,按理说 Chrome 是支持 Accessibility 取词的,但看你提供的日志显示取词失败了,并且你没有开启浏览器 AppleScript 取词,导致最终使用了模拟快捷键 Cmd + C 取词,这个有时候会出现异常。

日志里有这个错误提示,请按照提示开启浏览器 AppleScript 取词 Allow JavaScript from Apple Events。

Failed to get selected text from browser: AppleScript Execution Error: Google Chrome got an error: Executing JavaScript through AppleScript is turned off. To turn it on, from the menu bar, go to View > Developer > Allow JavaScript from Apple Events. For more information: https://support.google.com/chrome/?p=applescript

另外,你可以尝试在设置-高级页面,将强制取词方式改为菜单栏动作复制取词,这个通常会比模拟快捷键复制取词效果好。

@flyisland
Copy link
Author

奇怪,按理说 Chrome 是支持 Accessibility 取词的,但看你提供的日志显示取词失败了,并且你没有开启浏览器 AppleScript 取词,导致最终使用了模拟快捷键 Cmd + C 取词,这个有时候会出现异常。

日志里有这个错误提示,请按照提示开启浏览器 AppleScript 取词 Allow JavaScript from Apple Events。

Failed to get selected text from browser: AppleScript Execution Error: Google Chrome got an error: Executing JavaScript through AppleScript is turned off. To turn it on, from the menu bar, go to View > Developer > Allow JavaScript from Apple Events. For more information: https://support.google.com/chrome/?p=applescript

另外,你可以尝试在设置-高级页面,将强制取词方式改为菜单栏动作复制取词,这个通常会比模拟快捷键复制取词效果好。

好的,我先改为“菜单栏动作复制取词”看看效果如何

@flyisland
Copy link
Author

flyisland commented Dec 1, 2024

@tisfeng 改为“菜单栏动作复制取词”后,在有些应用完全不起作用,例如 calibre reader。应该是calibre reader没有提供Copy的菜单选项,也是个奇葩应用。

Recording.at.2024-12-01.09.31.21.Cropped.in.2024-12-01.09.31.54.mp4

@tisfeng
Copy link
Owner

tisfeng commented Dec 1, 2024

是的,菜单栏复制通常是 macOS 原生应用自带的一个功能选项,一些跨平台应用也会自己实现这个功能,极少数古老应用根本没有菜单栏复制,甚至没有菜单栏。

第一次遇到这种奇怪的应用,后续可以考虑添加一个不支持菜单栏动作复制的应用白名单,失败时采用快捷键复制取词。

回到你这个 issue,你开启浏览器 AppleScript 是否解决了?

@flyisland
Copy link
Author

回到你这个 issue,你开启浏览器 AppleScript 是否解决了?

我刚刚开启了,试一段时间看看效果。但其他应用,例如看 pdf, epub,应该就跟这个 “浏览器 AppleScript” 无关吧?

@tisfeng
Copy link
Owner

tisfeng commented Dec 2, 2024

取词问题很复杂,我们只保证支持系统 Accessibility 的应用取词没问题,大部分 macOS 原生软件都是支持的,其他软件(例如一些跨平台的 Electron)只能采用非常规的强制取词方式,这个不能保证成功的。

通常遇到这些奇怪的软件取词问题,只能逐个分析,然后尝试解决。

如果你遇到了这种问题,请单独开 issue,提供详细的上下文信息和运行日志。

@flyisland
Copy link
Author

取词问题很复杂,我们只保证支持系统 Accessibility 的应用取词没问题,大部分 macOS 原生软件都是支持的,其他软件(例如一些跨平台的 Electron)只能采用非常规的强制取词方式,这个不能保证成功的。

通常遇到这些奇怪的软件取词问题,只能逐个分析,然后尝试解决。

如果你遇到了这种问题,请单独开 issue,提供详细的上下文信息和运行日志。

谢谢啊,其实主要是之前没有这个问题,是最近两个版本升级后才发生。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants