Скриншот выходит черным на Wayland

я нашел это код сделать снимок экрана на сайте Теда Мельчарека.

/*
* gdk-screenshot.cpp: Save a screenshot of the root window in .png format.
*  If a filename is specified as the first argument on the commandline,
*  then the image will be saved to that filename. Otherwise, the image will
*  be saved as "screenshot.png" in the current working directory.
*
* Compile with:
* g++ -o gdk-screenshot gdk-screenshot.cpp `pkg-config --cflags --libs gdk-x11-2.0`
*/

#include <gdk/gdk.h>
#include <gdk/gdkx.h>

int main(int argc, char** argv)
{
gdk_init(&argc, &argv);
GdkWindow* window = window = gdk_get_default_root_window ();
GdkPixbuf* screenshot = gdk_pixbuf_get_from_drawable (NULL, window, NULL,
0, 0, 0, 0,
gdk_screen_width(),
gdk_screen_height());
GError* error = NULL;
const char* filename = (argc > 1) ? argv[1] : "screenshot.png";
return TRUE == gdk_pixbuf_save (screenshot, filename, "png",
&error, NULL);
}

Я скомпилировал его, как описано, и он, кажется, работает, так как он производит изображение с правильными размерами, но скриншот полностью черный.
черный скриншот

Это похоже на общий вопрос на системах под управлением Wayland (я использую Archlinux с Wayland), поэтому мой вопрос:

Какие изменения необходимо внести в этот код, чтобы он создал правильный скриншот на Wayland (и X)?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]