求助几个 wayland 下的问题

  1. 我设置了 scale=2 来配合高 dpi。fcitx5 在 firefox 可以使用但是位置不对,界面也是糊的,看起来像是通过 xwayland 启动,有办法让它用 wayland 吗?

  2. 要怎么做才能让 wl-copy 能拷备图片呢,我可以拷备文本,但是 grim 出来的图片确拷不了。

  3. 怎么交换 ctrl 和 capslock 呢?

  4. 求推荐一些 wayland 下的日常需求的应用。

非常感谢

  1. 如果你用的是sway,可以用下面的命令交换ctrl和capslock :
input type:keyboard {
    xkb_options ctrl:swapcaps
}

相信其他wayland桌面也有类似功能吧 3. 可以看看sway推荐的一些wayland应用:Useful add ons for sway · swaywm/sway Wiki · GitHub

  1. 输入法候选框位置不对是wayland日经问题,很难解决。。。fcitx5也没法原生运行在wayland下,具体见 Wayland status? · Issue #206 · fcitx/fcitx5 · GitHub

那看起来比较好的办法就是卸了 xwayland 不要候选了

这个问题我找到办法了,要改的是 /usr/X11/xkb/symbols 或把 xkb 放到 .config 里面来。

MOZ_ENABLE_WAYLAND=1

xwayland 有办法支持高 dpi 吗,现在看起来好糊

使用最新的git版的fcitx5,至少要在 2021年1月24日后的版本,这样大部分gtk和qt程序在使用fcitx5时,候选框是客户端程序绘制的,而不是fcitx5绘制的xwayland窗口,如果客户端程序是以wayland运行的,那么就不会出现界面糊和位置不对的问题。

XIM协议的程序(比如WPS或者没有pgtk补丁的Emacs)只能使用Xwayland,会糊,无解, 但位置不会错

只支持wayland输入法协议(text-input-unstable)的程序必须要合成器支持才能输入,例如alacritty。chromium的wayland模式(ozone wayland platform)只支持text-input-unstable-v1,sway这些基于wlroots的合成器是无法在chromium wayland下输入的。

wl-copy 在复制非文本时需要指定MIME,详见项目主页的说明 bugaevc/wl-clipboard

1 个赞

非常感谢,不过装了 fcitx5-git 之后好像 firefox 还是在用 xwayland 画候选。

我使用的是Sway+fcitx5(版本5.0.7)实测大部分GTK/Qt程序以wayland运行时输入法界面清晰并且位置正确,不过alacritty和kitty依旧不行,不过我测了Sway的这个PRswaywm/sway,alacritty可以正常使用输入法,但是界面有点糊,kitty依旧半死不活

1 个赞

大多数wayland的wm支持这个环境变量

bashrc:

    # keyboard layout
    export XKB_DEFAULT_LAYOUT=us
    export XKB_DEFAULT_OPTIONS=ctrl:nocaps

让程序强制使用Wayland

    # gtk wayland
    export GDK_BACKEND=wayland
    # qt wayland
    export QT_QPA_PLATFORM=wayland
    # firefox / icecat
    export MOZ_ENABLE_WAYLAND=1

推荐foot终端模拟器:

最喜欢的还是它的 server 功能. 拿 footclient 连接

export GLFW_IM_MODULE=ibus

可以让kitty用上fcitx5, 但是候选框会随机出现在屏幕上

有在wayland下用Synergy的吗?我的用不了,切换回Xorg了

synergy和barrier都不支持

1 个赞