LINUX.ORG.RU

Если найти ответ не получилось, это тревожный звонок, советую бросить затею.

Ну а вообще ответ должен быть в протоколе композитора:

https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/protocol/wlr-screencopy-unstable-v1.xml

https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/examples/screencopy.c

или

https://gitlab.freedesktop.org/wayland/weston/-/blob/master/protocol/weston-screenshooter.xml

И так далее.

melkor217 ★★★★★
()
Ответ на: комментарий от melkor217

Порталы, чем не устроили?

https://flatpak.github.io/xdg-desktop-portal/#gdbus-org.freedesktop.portal.Screenshot

Пример использования в GIMP, например https://gitlab.gnome.org/GNOME/gimp/-/blob/master/plug-ins/screenshot/screenshot-freedesktop.c

Посмотреть, что и как дёргать с D-BUS. В классы завернуть по своему усмотрению.

SkyMaverick ★★★★★
()

xdg-desktop-portal и Dbus. Правда есть одно НО: будет выскакивать окно подтверждения для захвата скриншота, в Гноме например это бесит. Поэтому либо как-то это обходить, либо внедряться напрямую в композитор. Но тогда все на него завяжется

Sunderland93 ★★★★★
()
Ответ на: комментарий от SkyMaverick

Порталы, чем не устроили?

Ну кстати да, вместе с каждым композитором в комплекте обычно идёт реализация xdg-desktop-portal.

Я тут просто не уверен, насколько корректно это соотносится с хотелкой «на Wayland».

melkor217 ★★★★★
()

Как получить скриншот рабочего стола на Wayland с помощью C++?

Никак. В Wayland нет такого API.Надо использовать другие интерфейсы, например D-Bus.

X512 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.