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

[BUG]: Wayland 划词窗口无法读取选中的文本 #147

Closed
1 task done
FlysoftBeta opened this issue May 27, 2023 · 26 comments
Closed
1 task done

[BUG]: Wayland 划词窗口无法读取选中的文本 #147

FlysoftBeta opened this issue May 27, 2023 · 26 comments

Comments

@FlysoftBeta
Copy link

提交新Issue前请确认一下事项

  • 我已确认以上事项

问题描述

使用文档中的教程设置了快捷键,但弹出的划词窗口无法读取到选中的文本
快捷键配置:
图片
效果:
图片

如何复现

使用文档中的教程设置快捷键,选择文本并按下快捷键弹出一个空白的划词窗口。

操作系统

Linux

操作系统版本

Ubuntu 23.04
GNOME 44

窗口系统(Linux Only)

Wayland

软件版本

pot:0.4.2 Tauri:1.3.0

补充信息

No response

@Pylogmon
Copy link
Member

Pylogmon commented May 27, 2023

已知问题,虽然说软件已经支持了Wayland取词,但是经过测试发现,只有KDE的Wayland支持了Primary剪切板,所以在Gnome下还没法使用。

暂时的解决办法:

  1. 添加环境变量以在xwayland下运行

    XDG_SESSION_TYPE=x11 GDK_BACKEND=x11 pot

    注意,是在pot启动是时候添加这两个变量来启动,设置快捷键的时候不需要添加变量。

  2. 使用x11而不是Wayland,这样可以有最佳的使用体验。

@FlysoftBeta
Copy link
Author

感谢,添加参数后已经可以使用

@linsui
Copy link

linsui commented May 27, 2023

我目前打包 pot 的时候加了这个

@Pylogmon
Copy link
Member

不熟悉nix,这个加上之后是只对这个软件包起作用的吗?

@linsui
Copy link

linsui commented May 27, 2023

是的,这个是加到 wrapper 里的,只对这个文件起作用

就是一个 bash 文件

test $GDMSESSION == "gnome" && export XDG_SESSION_TYPE=x11 GDK_BACKEND=x11
exec -a "$0" "/nix/store/pxd0lffj4a4xmb37sifhb3rxq6m6my0g-pot-0.4.2/bin/.pot-wrapped"  "$@"

@Pylogmon
Copy link
Member

好的,感谢

@linsui
Copy link

linsui commented May 27, 2023

我是想,是不是可以检测 GNOME 然后默认用 xorg?就和 https://github.com/pot-app/pot-desktop/blob/0.3.6/src-tauri/src/main.rs#L34 差不多

@Pylogmon
Copy link
Member

XDG_CURRENT_DESKTOP判断不是KDE会不会好一点,目前测试其实只有KDE可用

@linsui
Copy link

linsui commented May 27, 2023

https://superuser.com/questions/96151/how-do-i-check-whether-i-am-using-kde-or-gnome 里有不少判断方法,我只是随便选了个能用的,没有在其他桌面上测试

@Pylogmon
Copy link
Member

我是想,是不是可以检测 GNOME 然后默认用 xorg?就和 0.3.6/src-tauri/src/main.rs#L34 差不多

我可以试试,实际上我是可以判断是否支持primary clipboard的,最近一直没来得及加。

@linsui
Copy link

linsui commented May 27, 2023

那样确实更优雅,这只是个临时解决方案。

@Pylogmon
Copy link
Member

我不确定能不能行,因为我觉得GDK_BACKEND只在第一行加有效,一旦tauri跑在原生Wayland下,我觉得加他其实没啥用了。

@Pylogmon
Copy link
Member

已修复,Ubuntu虚拟机测试了一下,应该很完美。

@linsui
Copy link

linsui commented May 27, 2023

我测试了一下 0.4.3,遇到了一个奇怪的问题,但我不知道怎么复现。输出是

$ pot
get_selection_text_on_wayland
Check Primary Selection Support Failed
get_selection_text_on_x11

在使用快捷键之前窗口可以显示。使用快捷键之后翻译窗口不显示,设置窗口是空的。

@Pylogmon
Copy link
Member

快捷键是系统快捷键吗,设置窗口是空的是什么意思

@linsui
Copy link

linsui commented May 27, 2023

image
快捷键是绑定的 pot translate,在终端里运行也是一样的。

@Pylogmon
Copy link
Member

奇怪了,把配置文件删了试试

@linsui
Copy link

linsui commented May 27, 2023

没有变化。

@Pylogmon
Copy link
Member

删了之后重启试试吧,我在arch 和 ubuntu下都没遇到这问题。

@linsui
Copy link

linsui commented May 27, 2023

XDG_SESSION_TYPE=x11 GDK_BACKEND=x11 pot 是没有问题的,我重启一下试试

@linsui
Copy link

linsui commented May 27, 2023

重启之后还是同样的问题...

@linsui
Copy link

linsui commented May 27, 2023

似乎是这个问题 tauri-apps/tauri#5143WEBKIT_DISABLE_COMPOSITING_MODE=1 pot 可以工作。

@Pylogmon Pylogmon unpinned this issue May 27, 2023
@Pylogmon
Copy link
Member

0.4.2没有这个问题吗

Pylogmon added a commit that referenced this issue May 27, 2023
@linsui
Copy link

linsui commented May 27, 2023

之前没有遇到这个问题,不知道是怎么触发的。

@Pylogmon
Copy link
Member

修了,感谢🙏

@linsui
Copy link

linsui commented May 27, 2023

我这里 pot 0.4.4 一切正常,谢谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants