wechat-universal-flatpak
wechat-universal-flatpak copied to clipboard
微信截图后无法复制到其他软件
微信截图会保存到此目录:~/xwechat_files/wxid_{xxx}/temp/snapshot/{xxx}.jpg,设备实际上不存在此目录。复制截图后仅微信可以粘贴,而其他应用无法粘贴。
archlinux 已经可以粘贴到浏览器
archlinux 已经可以粘贴到浏览器
你用的 aur 包吗
就用的这个项目里面的,aur 里的启动报错
这张图片是用微信截图的
截图后直接复制 可以使用啊
我这边不管是浏览器还是其他应用复制都是有问题的,之后换个设备再试一下
使用 flatseal 给全部文件权限即可。
使用 flatseal 给全部文件权限即可。
这不合适吧
感觉倒是可以像dde-file-manager把复制的路径改成真实的路径
在wayland下面可以借助wl-clipboard实现:
image-fix.sh
#!/usr/bin/env bash
fake_path="file://$HOME/xwechat_files"
real_path="$HOME/.var/app/com.tencent.WeChat/xwechat_files"
if [[ "$(wl-paste -l)" =~ "application/x-mimedata-xwechat" ]] && [[ "$(wl-paste -l)" =~ "text/x-moz-url" ]]; then
clip_image=$(wl-paste)
if [[ "$clip_image" =~ "$fake_path" ]]; then
real_image=$(echo "$clip_image" | sed "s|$fake_path|$real_path|")
wl-copy <"$real_image"
echo "wechat图像已替换"
fi
fi
然后监测剪切板
wl-paste -w bash -c <script path>
只是我kde下面wl-copy图像后没有同步到kde的自带剪切板上
感觉倒是可以像dde-file-manager把复制的路径改成真实的路径
在wayland下面可以借助wl-clipboard实现:
image-fix.sh#!/usr/bin/env bash fake_path="file://$HOME/xwechat_files" real_path="$HOME/.var/app/com.tencent.WeChat/xwechat_files" if [[ "$(wl-paste -l)" =~ "application/x-mimedata-xwechat" ]] && [[ "$(wl-paste -l)" =~ "text/x-moz-url" ]]; then clip_image=$(wl-paste) if [[ "$clip_image" =~ "$fake_path" ]]; then real_image=$(echo "$clip_image" | sed "s|$fake_path|$real_path|") wl-copy <"$real_image" echo "wechat图像已替换" fi fi然后监测剪切板
wl-paste -w bash -c <script path>只是我kde下面wl-copy图像后没有同步到kde的自带剪切板上
分析了一下,微信截图文件是 .jpg 后缀,但实际上是 png 格式的。
执行 wl-copy < ~/.var/app/com.tencent.WeChat/xwechat_files/wxid_xxx/temp/snapshot/xxx.jpg KDE 剪切板无法显示缩略图,但实际上可以在 Dolphin 中粘贴为文件。修改后缀为 png 或是加 -t image/png 参数指定 mime 类型之后 KDE 剪切板可以正常显示缩略图。
#!/usr/bin/env bash
fake_path="file://$HOME/xwechat_files"
real_path="$HOME/.var/app/com.tencent.WeChat/xwechat_files"
if [[ "$(wl-paste -l)" =~ "application/x-mimedata-xwechat" ]] && [[ "$(wl-paste -l)" =~ "text/x-moz-url" ]]; then
clip_image=$(wl-paste)
if [[ "$clip_image" =~ "$fake_path" ]]; then
real_image=$(echo "$clip_image" | sed "s|$fake_path|$real_path|")
echo "real $real_image"
wl-copy -t "image/png" < "$real_image"
echo "wechat图像已替换"
fi
fi
上面的脚本添加设定 mime 类型后可以替换剪切板,KDE 剪切板也能正常显示略缩图。
我在打包脚本中加了一条 sed -i 's/%1.jpg/%1.png/g' wechat,使微信保存截图文件后缀为 png。
image-fix.sh 内容修改如下,增加了显示剪切板中文件 mime 类型的功能。
#!/usr/bin/env bash
fake_path="file://$HOME/xwechat_files"
real_path="$HOME/.var/app/com.tencent.WeChat/xwechat_files"
if [[ "$(wl-paste -l)" =~ "application/x-mimedata-xwechat" ]] && [[ "$(wl-paste -l)" =~ "text/x-moz-url" ]]; then
clip_image=$(wl-paste)
if [[ "$clip_image" =~ "$fake_path" ]]; then
real_image=$(echo "$clip_image" | sed "s|$fake_path|$real_path|")
echo "real $(file $real_image)"
wl-copy < "$real_image"
echo "wechat图像已替换"
fi
fi
此时再次截图,保存的文件后缀成功变为 png,而文件格式变成了 jpeg。
感觉这个是微信逻辑写错了,可能需要向他们反馈一下。
我尝试一下
之前kde剪切板的选中非文本内容一直设置为永不保存(可能是默认?忘记有没有改过)
现在改了确实可以了,感谢
gnome下这个问题有解决方法吗?
ubuntu-22.04.4 gnome-42.9,软件内截图键或者是快捷键alt+a都先调用系统自带的截整个屏幕的全图,然后才会调用微信的截图工具截这张全图中的可选择的区域。这是啥的bug
ubuntu-22.04.4 gnome-42.9,软件内截图键或者是快捷键alt+a都先调用系统自带的截整个屏幕的全图,然后才会调用微信的截图工具截这张全图中的可选择的区域。这是啥的bug
这有什么 bug?
就是这样的吗😨比较突兀的是系统截了屏之后会弹个分享弹窗,如果关掉了这个弹窗就就没有截图了
就是这样的吗😨比较突兀的是系统截了屏之后会弹个分享弹窗,如果关掉了这个弹窗就就没有截图了
我是 23.10,截图时候不会出现分享窗口。可以跟微信反馈一下看看。
谢谢大佬解惑🙏
改成xorg之后就没这个问题了。。。。
使用 flatseal 给全部文件权限即可。