tisfeng / Easydict

一个简洁优雅的词典翻译 macOS App。开箱即用,支持离线 OCR 识别,支持有道词典,🍎 苹果系统词典,🍎 苹果系统翻译,OpenAI,Gemini,DeepL,Google,Bing,腾讯,百度,阿里,小牛,彩云和火山翻译。A concise and elegant Dictionary and Translator macOS App for looking up words and translating text.
GNU General Public License v3.0
6.68k stars 338 forks source link

🐞 反馈问题:多显示器使用鼠标划词翻译,窗口位置无法固定 #442

Open Maydaytyh opened 5 months ago

Maydaytyh commented 5 months ago

请先确认以下事项:

问题描述

多显示器使用,鼠标划词翻译,结果出来后,悬浮窗口和mini窗口都会跑到之后鼠标所在的显示器,比较影响体验。

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

可重现

重现步骤

在两个显示器工作,在A上打开文档,划词翻译,在B上写另外一个文档,若在翻译结果出来之前将鼠标光标移动到B,则翻译窗口会跑到B上

截图

显示器A

image

显示器B

image

期望结果

希望能固定窗口位置,与鼠标位置无关

解决方案(可选)

No response

设备型号 && 系统版本

Apple M2 Macmini Macos 14.2.1

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

github-actions[bot] commented 5 months ago

Hello Maydaytyh, Thank you for your first issue contribution 🎉

tisfeng commented 5 months ago

我稍后看一下。

tisfeng commented 5 months ago

你好,我先确认一下你的使用场景,你是否在使用快捷键划词翻译,侧悬浮窗口位置设置的是【鼠标位置】,然后

A上打开文档,划词翻译,在B上写另外一个文档,若在翻译结果出来之前将鼠标光标移动到B,则翻译窗口会跑到B上

你希望在 A 屏幕上进行的快捷键划词翻译,查询结果窗口不跟随鼠标漂移,而是固定显示在 A 屏幕,是这样吗?

tisfeng commented 5 months ago

哦,是鼠标划词翻译啊,这个应该也一样,逻辑差不多。

Maydaytyh commented 5 months ago

你好,我先确认一下你的使用场景,你是否在使用快捷键划词翻译,侧悬浮窗口位置设置的是【鼠标位置】,然后

A 上打开文档,划词翻译,在 B 上写另外一个文档,若在翻译结果出来之前将鼠标光标移动到 B,则翻译窗口会跑到 B 上

你希望在 A 屏幕上进行的快捷键划词翻译,查询结果窗口不跟随鼠标漂移,而是固定显示在 A 屏幕,是这样吗?

是这样的!但是现在就算我固定了结果窗口(左上角钉子变成蓝色),结果还是跟着鼠标漂移

tisfeng commented 5 months ago

ok,了解了,之前没考虑到这种使用场景,我们看一下代码。

kennydiff commented 2 months ago

@tisfeng 非常感谢这个软件,非常棒! 但是有点小小的问题: 多显示器用户有同样的困扰,我一般使用主窗口模式,查词的Easydict 一般放在副显示器,主显示器里面全屏显示浏览的文档,热键查词后,主窗口会从副显示器跳到主显示器的鼠标所在的位置,不太符合直觉。 作为主窗口模式,期望的行为应该是:以上面两个顶点为锚点(往下可以延伸),在所在的位置,保持不变,不会跳离当前显示器,也不会随着鼠标走动。

tisfeng commented 2 months ago

ok,感谢反馈,由于我日常没有使用多显示屏,可能没有注意到这些问题 😥

@AkaShark 有空看一下这个,可以先完成 https://github.com/tisfeng/Easydict/pull/450 ,然后另外开 PR 处理主窗口问题。

AkaShark commented 2 months ago

okay

ZedRover commented 3 weeks ago

快捷键选词翻译的时候,设置如下,假设设定测悬浮窗口固定屏幕右侧,在桌面 A 选词翻译之后鼠标移动到桌面 B 的时候窗口会跟随鼠标移动到另一桌面后固定位置。我觉得正常的逻辑是悬浮窗口出现后就固定在当前位置,不用管鼠标在哪里。

image
tisfeng commented 3 weeks ago

这个我觉得还好,因为窗口固定位置是相对窗口的,当取词窗口发生变化时,窗口的显示位置也跟随变化是符合直觉的。

ZedRover commented 3 weeks ago

这个我觉得还好,因为窗口固定位置是相对窗口的,当取词窗口发生变化时,窗口的显示位置也跟随变化是符合直觉的。

分辨率不一样的屏幕可能有问题,我办公室屏幕是1080的,所以会有这个问题

tisfeng commented 3 weeks ago

这个和分辨率应该没关系,我的意思是,悬浮窗口位置的选项(屏幕右侧,屏幕中间等)是根据当前取词窗口决定的。

举例来说,假如你设置的悬浮窗口位置是屏幕右侧,此时你在 A 窗口取词查询,则当前查询窗口显示在 A 窗口的屏幕右侧;然后你在 B 窗口取词查询,此时查询窗口显示在 B 窗口的屏幕右侧,这是符合预期的。

ZedRover commented 3 weeks ago

这个和分辨率应该没关系,我的意思是,悬浮窗口位置的选项(屏幕右侧,屏幕中间等)是根据当前取词窗口决定的。

举例来说,假如你设置的悬浮窗口位置是屏幕右侧,此时你在 A 窗口取词查询,则当前查询窗口显示在 A 窗口的屏幕右侧;然后你在 B 窗口取词查询,此时查询窗口显示在 B 窗口的屏幕右侧,这是符合预期的。

但是比如我在 A 桌面查词,悬浮窗口位置是对的,然后复制一部分到 B 桌面的应用里面,在鼠标移动到 B 桌面的时候 A 桌面的悬浮窗口也会到 B 桌面,并且跟随鼠标指针的位置,这应该是错误的,鼠标再移动回 A 桌面,悬浮窗口会跟随鼠标移动回 A 桌面,并且跟随的是鼠标位置

tisfeng commented 3 weeks ago

多屏幕场景比较麻烦,这里确实存在一些问题,比如这种 https://github.com/tisfeng/Easydict/pull/450#pullrequestreview-1931433425 ,我日常开发没有使用多屏幕,所以有很多情况没有考虑到 😰

ZedRover commented 3 weeks ago

多屏幕场景比较麻烦,这里确实存在一些问题,比如这种 #450 (review) ,我日常开发没有使用多屏幕,所以有很多情况没有考虑到 😰

❤️ 窗口位置能设定这个功能就很fancy 了,Bob 好像都不支持,谢谢大佬的开发

tisfeng commented 3 weeks ago

这个和分辨率应该没关系,我的意思是,悬浮窗口位置的选项(屏幕右侧,屏幕中间等)是根据当前取词窗口决定的。 举例来说,假如你设置的悬浮窗口位置是屏幕右侧,此时你在 A 窗口取词查询,则当前查询窗口显示在 A 窗口的屏幕右侧;然后你在 B 窗口取词查询,此时查询窗口显示在 B 窗口的屏幕右侧,这是符合预期的。

但是比如我在 A 桌面查词,悬浮窗口位置是对的,然后复制一部分到 B 桌面的应用里面,在鼠标移动到 B 桌面的时候 A 桌面的悬浮窗口也会到 B 桌面,并且跟随鼠标指针的位置,这应该是错误的,鼠标再移动回 A 桌面,悬浮窗口会跟随鼠标移动回 A 桌面,并且跟随的是鼠标位置

我仔细阅读了几遍,可能这个场景比较复杂,我没看懂你的描述,你方便录个视频展示一下吗?

ZedRover commented 3 weeks ago

https://github.com/user-attachments/assets/ad58c2f4-5d7a-4d11-b250-38d9fb091a2e

这个可以看吗 我用手机录的

tisfeng commented 3 weeks ago

哦明白了,感谢,这个问题稍后我们会修复的。

tisfeng commented 2 weeks ago

@AkaShark 最近有时间看一下这个问题吗,我准备这周末发个新版本。

AkaShark commented 2 weeks ago

Sorry 最近有点忙,我争取这周搞完这个issue

tisfeng commented 2 weeks ago

ok 🙃

AkaShark commented 2 weeks ago

😂 这周事件有的多这个issue 放到下个版本吧

tisfeng commented 2 weeks ago

ok