Easydict icon indicating copy to clipboard operation
Easydict copied to clipboard

🐞 Bug Report: 当启用强制取词后,会影响剪贴板,请不要随意清空剪贴板,交给用户去清空

Open michael-hll opened this issue 9 months ago • 6 comments

Please confirm the following:

  • [x] Be sure to check out FAQ
  • [x] I have carefully read the README
  • [x] I have searched through the issues page but couldn't find a solution.(Including issue that has been closed)
  • [x] Easydict has been upgraded to the latest version
  • [x] I understand and agree to the above, and understand that the project maintainer has limited energy, issues that do not follow the rules may be ignored or closed directly

Problem description

当我选中文本并拷贝到剪贴版后,当我再选择新的文本准备去粘贴的时候,发现剪贴板的内容已经不见了。 经过各种测试,发现是当启用了强制取词功能后,当我再次选择文本的时候,剪贴板内容就不见了。 建议:不要自动做某些操作,把基本操作留给用户。 所以:当启用强制取词后,请不要清空剪贴板,这在有些程序中是致命的。

Is the issue consistently reproducible?

Reproducible

Steps to Reproduce

当我选中文本并拷贝到剪贴版后,当我再选择新的文本准备去粘贴的时候,发现剪贴板的内容已经不见了。 经过各种测试,发现是当启用了强制取词功能后,当我再次选择文本的时候,剪贴板内容就不见了。 建议:不要自动做某些操作,把基本操作留给用户。 所以:当启用强制取词后,请不要清空剪贴板,这在有些程序中是致命的。

Screenshot

当我选中文本并拷贝到剪贴版后,当我再选择新的文本准备去粘贴的时候,发现剪贴板的内容已经不见了。 经过各种测试,发现是当启用了强制取词功能后,当我再次选择文本的时候,剪贴板内容就不见了。 建议:不要自动做某些操作,把基本操作留给用户。 所以:当启用强制取词后,请不要清空剪贴板,这在有些程序中是致命的。

Runtime log(zip file)

当我选中文本并拷贝到剪贴版后,当我再选择新的文本准备去粘贴的时候,发现剪贴板的内容已经不见了。 经过各种测试,发现是当启用了强制取词功能后,当我再次选择文本的时候,剪贴板内容就不见了。 建议:不要自动做某些操作,把基本操作留给用户。 所以:当启用强制取词后,请不要清空剪贴板,这在有些程序中是致命的。

Expected result

当我选中文本并拷贝到剪贴版后,当我再选择新的文本准备去粘贴的时候,发现剪贴板的内容已经不见了。 经过各种测试,发现是当启用了强制取词功能后,当我再次选择文本的时候,剪贴板内容就不见了。 建议:不要自动做某些操作,把基本操作留给用户。 所以:当启用强制取词后,请不要清空剪贴板,这在有些程序中是致命的。

Proposed solution (optional)

No response

Device type and OS version

Apple M3 Mac, VSCode

Are you willing to submit a PR to fix this issue?

  • [ ] I'm willing to submit a PR to fix this issue

michael-hll avatar Jul 04 '25 07:07 michael-hll

Hello michael-hll, Thank you for your first issue contribution 🎉

github-actions[bot] avatar Jul 04 '25 07:07 github-actions[bot]

当启用强制取词后,会影响剪贴板

这是已知问题,强制取词功能的实现,就是借用了系统剪贴板,因此某些极端情况下,可能会影响到剪贴板内容。我们代码中会尽力减少影响,但无法完全避免。

这一点我们在应用设置中有说明。

这是一个苹果系统的坑,在某些应用中,正常途径无法获取到当前选中文本,这时候就需要使用强制取词。

如果你非常在意影响剪贴板这一点,请关闭【强制取词】功能。

Image

tisfeng avatar Jul 05 '25 12:07 tisfeng

报告,我也遇到了这个问题了 mac 上安装了“PasteNow”剪切板工具,如果启用强制取词的情况下,PasteNow 会不听的提示剪切音效,占用剪切板 但是如果关掉强制取词的情况下,“划词后自动显示查询图标”开启,则划词后不会显示图标的,同时快捷键翻译提取不到需要翻译的内容的 另,使用的是 chrome

SlippinDylan avatar Jul 27 '25 07:07 SlippinDylan

如果启用强制取词的情况下,PasteNow 会不听的提示剪切音效

参考这个 https://github.com/tisfeng/Easydict/issues/923

如果关掉强制取词的情况下,“划词后自动显示查询图标”开启,则划词后不会显示图标的

某些应用正常情况下,是获取不到选中文本的,所以才需要强制取词。

如果关闭了强制取词,自然是获取不到。

tisfeng avatar Jul 31 '25 13:07 tisfeng

我目前遇到的一个情况是:在点击某些 App 的标签,或者网页中的 tab 标签,亦或者是我只是选中某些文字并不想去翻译,会自动触发强制取词(比如双击 tab 后会听到 PasteNow 的“咔哒”一声复制成功的提示音),但此时我其实并没有想要翻译内容。

我个人觉得“强制取词”这个功能本身没有问题,但是否可以优化为:只有在用户主动触发(比如使用快捷键或点击查询图标)时,才调用强制取词?

目前的逻辑是,如果关闭强制取词,就不会在我点击标签或选中文字时自动触发了,但相应的,快捷键也无法再取词了。我大概理解这个设计初衷,但在一些场景下,比如我只是正常点击界面或选中文本时,不希望它直接就进入取词流程,我希望强制取词这个动作由用户主动触发

所以想请教一下,是否可以考虑在“自动触发强制取词”和“快捷键触发强制取词”之间做一些区分,以提升使用体验?感谢!

SlippinDylan avatar Aug 04 '25 08:08 SlippinDylan

只有在用户主动触发(比如使用快捷键或点击查询图标)时,才调用强制取词?

不是这样的,目前触发取词的动作有多种(如双击,鼠标拖动,快捷键等),如果开启了强制取词,则在常规取词方法失败后,就会进行强制取词。

是否可以考虑在“自动触发强制取词”和“快捷键触发强制取词”之间做一些区分,以提升使用体验?

明白了,你这个建议很好~

目前主要是鼠标划词使用的场景较多,且非常容易触发强制取词。

对于强制取词,我们可以进行细分,修改为【鼠标强制取词】、【快捷键强制取词】等选项,这样能优化操作体验,

稍后我们再看看具体怎么实现。

tisfeng avatar Aug 24 '25 03:08 tisfeng