Implementations of the screencopy extensions

The foreign toplevel implementation is incomplete
itycodes 4 weeks ago
parent a66f7f7b5d
commit 8dabd05195

@ -106,7 +106,8 @@ struct sway_server {
struct wlr_content_type_manager_v1 *content_type_manager_v1; struct wlr_content_type_manager_v1 *content_type_manager_v1;
struct wlr_data_control_manager_v1 *data_control_manager_v1; struct wlr_data_control_manager_v1 *data_control_manager_v1;
struct wlr_screencopy_manager_v1 *screencopy_manager_v1; struct wlr_screencopy_manager_v1 *screencopy_manager_v1;
struct wlr_ext_screencopy_manager_v1 *ext_screencopy_manager_v1; struct wlr_ext_output_image_capture_source_manager_v1 *ext_output_image_source_manager_v1;
struct wlr_ext_image_copy_capture_manager_v1 *ext_image_copy_capture_manager_v1;
struct wlr_export_dmabuf_manager_v1 *export_dmabuf_manager_v1; struct wlr_export_dmabuf_manager_v1 *export_dmabuf_manager_v1;
struct wlr_security_context_manager_v1 *security_context_manager_v1; struct wlr_security_context_manager_v1 *security_context_manager_v1;

@ -16,8 +16,8 @@ protocols = [
wl_protocol_dir / 'staging/cursor-shape/cursor-shape-v1.xml', wl_protocol_dir / 'staging/cursor-shape/cursor-shape-v1.xml',
wl_protocol_dir / 'staging/tearing-control/tearing-control-v1.xml', wl_protocol_dir / 'staging/tearing-control/tearing-control-v1.xml',
wl_protocol_dir / 'staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml', wl_protocol_dir / 'staging/ext-foreign-toplevel-list/ext-foreign-toplevel-list-v1.xml',
wl_protocol_dir / 'staging/ext-image-source/ext-image-source-v1.xml', wl_protocol_dir / 'staging/ext-image-capture-source/ext-image-capture-source-v1.xml',
wl_protocol_dir / 'staging/ext-screencopy/ext-screencopy-v1.xml', wl_protocol_dir / 'staging/ext-image-copy-capture/ext-image-copy-capture-v1.xml',
'wlr-layer-shell-unstable-v1.xml', 'wlr-layer-shell-unstable-v1.xml',
'idle.xml', 'idle.xml',
'wlr-output-power-management-unstable-v1.xml', 'wlr-output-power-management-unstable-v1.xml',

@ -19,8 +19,8 @@
#include <wlr/types/wlr_export_dmabuf_v1.h> #include <wlr/types/wlr_export_dmabuf_v1.h>
#include <wlr/types/wlr_ext_foreign_toplevel_list_v1.h> #include <wlr/types/wlr_ext_foreign_toplevel_list_v1.h>
#include <wlr/types/wlr_foreign_toplevel_management_v1.h> #include <wlr/types/wlr_foreign_toplevel_management_v1.h>
#include <wlr/types/wlr_ext_image_source_v1.h> #include <wlr/types/wlr_ext_image_capture_source_v1.h>
#include <wlr/types/wlr_ext_screencopy_v1.h> #include <wlr/types/wlr_ext_image_copy_capture_v1.h>
#include <wlr/types/wlr_fractional_scale_v1.h> #include <wlr/types/wlr_fractional_scale_v1.h>
#include <wlr/types/wlr_gamma_control_v1.h> #include <wlr/types/wlr_gamma_control_v1.h>
#include <wlr/types/wlr_idle_notify_v1.h> #include <wlr/types/wlr_idle_notify_v1.h>
@ -109,7 +109,8 @@ static bool is_privileged(const struct wl_global *global) {
global == server.foreign_toplevel_manager->global || global == server.foreign_toplevel_manager->global ||
global == server.data_control_manager_v1->global || global == server.data_control_manager_v1->global ||
global == server.screencopy_manager_v1->global || global == server.screencopy_manager_v1->global ||
global == server.ext_screencopy_manager_v1->global || global == server.ext_image_copy_capture_manager_v1->global ||
global == server.ext_output_image_source_manager_v1->global ||
global == server.export_dmabuf_manager_v1->global || global == server.export_dmabuf_manager_v1->global ||
global == server.security_context_manager_v1->global || global == server.security_context_manager_v1->global ||
global == server.gamma_control_manager_v1->global || global == server.gamma_control_manager_v1->global ||
@ -372,8 +373,8 @@ bool server_init(struct sway_server *server) {
server->export_dmabuf_manager_v1 = wlr_export_dmabuf_manager_v1_create(server->wl_display); server->export_dmabuf_manager_v1 = wlr_export_dmabuf_manager_v1_create(server->wl_display);
server->screencopy_manager_v1 = wlr_screencopy_manager_v1_create(server->wl_display); server->screencopy_manager_v1 = wlr_screencopy_manager_v1_create(server->wl_display);
server->ext_screencopy_manager_v1 = wlr_ext_screencopy_manager_v1_create(server->wl_display, 1); server->ext_output_image_source_manager_v1 = wlr_ext_output_image_capture_source_manager_v1_create(server->wl_display, 1);
wlr_ext_output_image_source_manager_v1_create(server->wl_display, 1); server->ext_image_copy_capture_manager_v1 = wlr_ext_image_copy_capture_manager_v1_create(server->wl_display, 1);
server->data_control_manager_v1 = wlr_data_control_manager_v1_create(server->wl_display); server->data_control_manager_v1 = wlr_data_control_manager_v1_create(server->wl_display);
server->security_context_manager_v1 = wlr_security_context_manager_v1_create(server->wl_display); server->security_context_manager_v1 = wlr_security_context_manager_v1_create(server->wl_display);
wlr_viewporter_create(server->wl_display); wlr_viewporter_create(server->wl_display);

Loading…
Cancel
Save