想要编写一个简单的工具,它将在Wayland上截取屏幕截图。 我的理解是否与Xorg完全不同? 有人可以给我任何例子吗?
答案 0 :(得分:5)
您的问题有点不明确。只要您使用Weston
的参考合成器Wayland
,就不需要编写工具。它内置了此功能。您可以使用Super + S
截取屏幕截图,Super + R
以*.wcap
形式录制视频,然后转换为*.webm
视频。
如果您真的有兴趣编写这样的工具,那么您应该在Weston
查看{{1}}的源代码:http://cgit.freedesktop.org/wayland/weston并查找相关部分。
答案 1 :(得分:1)
是的截图在道路下与Xorg完全不同。
通过设计,Wayland比X11更安全,并且不允许一个应用程序捕获其他应用程序的内容。 windows,meanignath基于X11的截图工具无法在Wayland / Xwayland下工作。
https://bugs.freedesktop.org/show_bug.cgi?id=98672
对不起,我不能告诉你它是如何不同的,只是它是不同的。
答案 2 :(得分:-1)
我曾经使用快门,但是Wayland失败了。
gnome-screenshot可与Wayland配合使用,但在抓取后直接重命名文件本身就很笨拙。
我制作了2个脚本: shut.sh
NSData *imageData = UIImagePNGRepresentation(newImage);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *imagePath =[documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png",@"cached"]];
[imageData writeToFile:imagePath atomically:NO];
和 grabname.sh
#!/bin/sh
# call me shut.sh
gnome-screenshot -a -f /path/to/temp/grabcache.png
gnome-terminal -e "bash grabname.sh"
现在定义一个热键来运行 shut.sh 。除非将脚本保存到shell的$ PATH变量中的某个位置,否则您需要指定每个脚本的确切路径。
然后,当您按下键时,屏幕上会出现十字线,供您选择抓取目标。这将grabcache.png保存到/ path / to / temp。
完成后,终端将打开并询问您是否有文件名将grabcache.png复制到$ grab in / where / you / want / it。然后,nautilus应该打开以显示新的重命名抓取。如果nautilus已经打开,您可能需要手动ALT-TAB。