diff --git a/meson.build b/meson.build index 61d1b3161..598a8da11 100644 --- a/meson.build +++ b/meson.build @@ -32,6 +32,14 @@ wayland_scanner = find_program( native: true, ) +content_type_protocol = custom_target( + 'content_type_v1_protocol_h', + input: join_paths(wayland_protocol_dir, 'staging', 'content-type', 'content-type-v1.xml'), + output: 'content-type-v1-protocol.h', + command: [wayland_scanner, 'server-header', '@INPUT@', '@OUTPUT@'], + build_by_default: false, +) + xdg_shell_protocol = custom_target( 'xdg_shell_server_h', input: join_paths(wayland_protocol_dir, 'stable', 'xdg-shell', 'xdg-shell.xml'), diff --git a/src/meson.build b/src/meson.build index 9cdc929be..28d801409 100644 --- a/src/meson.build +++ b/src/meson.build @@ -13,6 +13,7 @@ magpie_sources = [ 'surface/view.cpp', 'surface/xdg_view.cpp', 'surface/xwayland_view.cpp', + content_type_protocol, xdg_shell_protocol, wlr_layer_shell_protocol, wlr_output_power_management_protocol, diff --git a/src/server.cpp b/src/server.cpp index 33e52b0e8..170789043 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -454,4 +454,6 @@ Server::Server() : listeners(*this) { listeners.drm_lease_request.notify = drm_lease_notify; wl_signal_add(&drm_manager->events.request, &listeners.drm_lease_request); } + + content_type_manager = wlr_content_type_manager_v1_create(display, 1); } diff --git a/src/server.hpp b/src/server.hpp index 93bb6c069..9cc393e53 100644 --- a/src/server.hpp +++ b/src/server.hpp @@ -10,6 +10,7 @@ #include "wlr-wrap-start.hpp" #include #include +#include #include #include #include @@ -90,6 +91,7 @@ class Server { wlr_idle_inhibit_manager_v1* idle_inhibit_manager; wlr_drm_lease_v1_manager* drm_manager; + wlr_content_type_manager_v1* content_type_manager; Server();