WPS Office无法粘贴任何从其他环境复制的内容,但是我切换到GNOME(Wayland)下之后并无问题。软件环境内自己粘贴自己的内容倒是可以的
WPS目前运行在xwayland环境下,hyprctl clients输出如下
Window 64ad6d969c40 -> WPS文字:
mapped: 1
hidden: 0
at: 967,55
size: 938,1010
workspace: 2 (2)
floating: 0
monitor: 0
class: wps
title: WPS文字
initialClass: wps
initialTitle: WPS文字
pid: 45034
xwayland: 1
pinned: 0
fullscreen: 0
fullscreenmode: 0
fakefullscreen: 0
grouped: 0
swallowing: 0
focusHistoryID: 1
最近编辑记录 szleaves (2024-05-30 17:14:23)
离线
这是在复制wps内文字后 wl-paste的输出结果
➜ ~ wl-paste -l
text/rtf
text/richtext
text/plain
text/plain;charset=utf-8
text/plain
text/html
wps复制后的文字是可以正常粘贴到其他地方的,但是从其他地方(比如终端或浏览器)复制的内容就无法粘贴到wps中,粘贴按钮显示为灰色 不可用状态
这是从其他地方复制内容后的 wl-paste输出
➜ ~ wl-paste -l
STRING
UTF8_STRING
text/plain
text/plain;charset=utf-8
TEXT
最近编辑记录 szleaves (2024-05-14 19:57:19)
离线
我用wayfire,也有相同的情况。没办法,平常就用leafpad中转一下,很麻烦的!
离线
中转可以?可以的时候是提供什么类型的数据呢?
离线
中转可以?可以的时候是提供什么类型的数据呢?
1.从firefox是复制文字粘贴到wps文字中,第一次可以,第二次不行。运行wl-paste -l结果如下:
wl-paste -l
text/html
text/_moz_htmlcontext
text/_moz_htmlinfo
text/plain;charset=utf-8
UTF8_STRING
COMPOUND_TEXT
TEXT
text/plain
STRING
text/x-moz-url-priv
SAVE_TARGETS
2.用leafpad中转后,运行wl-paste -l结果如下:
$ wl-paste -l
application/x-gtk-text-buffer-rich-text
text/plain;charset=utf-8
text/plain
text/plain;charset=utf-8
text/plain
离线
第二次不行好神奇。
离线
第二次不行好神奇。
是的。但是在google-chrome上不会。
离线
以下脚本可以解决问题。原文见:https://gist.github.com/progzone122/32061f068c345a0644ad9a47ad390b82
#!/bin/bash
while true; do
wl-paste | xclip -selection clipboard
xclip -selection clipboard -o | wl-copy
sleep 0.5
done
试用了一下,可以用,但粘贴时多了不少的空行。等于还是没真正解决。
最近编辑记录 xep007 (2024-05-24 15:05:18)
离线
以下脚本可以解决问题。原文见:https://gist.github.com/progzone122/32061f068c345a0644ad9a47ad390b82
#!/bin/bashwhile true; do
wl-paste | xclip -selection clipboard
xclip -selection clipboard -o | wl-copy
sleep 0.5
done试用了一下,可以用,但粘贴时多了不少的空行。等于还是没真正解决。
我实验了一下,@xep007 提到的脚本有个问题,就是会不停的往剪贴板里面写入数据,导致clipboard manager全是刚刚复制的数据,不过确实可以粘贴到wps中
看脚本,实际上我只需要wl-paste的数据复制到xlicp对应的缓存中就行,所以我只留了一行,测试之后就没有污染clipboard的问题了
顺便加上sed把输出的换行符去掉,就不会有空格的问题了,将就用吧,不过看情况金山要适配wayland可能还得等很长一段时间...
#!/bin/bash
while true; do
wl-paste | sed -z '$ s/\n$//' | xclip -selection clipboard
sleep 0.5
done
在hyprland config中加上这句即可(记得把脚本路径改成你自己的路径)
exec-once = sleep 2 && $HOME/.config/hypr/clipboard.sh # 后面的路径记得改成自己的
离线
while true; do wl-paste -n -w 'xclip -selection clipboard'; done
这样就好啦。另外等 hyprland 修好 xwayland 的剪贴板同步应该就好了?
离线
while true; do wl-paste -n -w 'xclip -selection clipboard'; done
这样就好啦。另外等 hyprland 修好 xwayland 的剪贴板同步应该就好了?
谢谢!可以用了!
离线