diff --git a/cage.c b/cage.c index 5045b88..2c59726 100644 --- a/cage.c +++ b/cage.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #if CAGE_HAS_XWAYLAND #include @@ -171,6 +172,7 @@ main(int argc, char *argv[]) struct wlr_server_decoration_manager *server_decoration_manager = NULL; struct wlr_xdg_decoration_manager_v1 *xdg_decoration_manager = NULL; struct wlr_screencopy_manager_v1 *screencopy_manager = NULL; + struct wlr_xdg_output_manager_v1 *output_manager = NULL; struct wlr_xdg_shell *xdg_shell = NULL; #if CAGE_HAS_XWAYLAND struct wlr_xwayland *xwayland = NULL; @@ -302,6 +304,13 @@ main(int argc, char *argv[]) goto end; } + output_manager = wlr_xdg_output_manager_v1_create(server.wl_display, server.output_layout); + if (!output_manager) { + wlr_log(WLR_ERROR, "Unable to create the output manager"); + ret = 1; + goto end; + } + #if CAGE_HAS_XWAYLAND xwayland = wlr_xwayland_create(server.wl_display, compositor, true); if (!xwayland) { @@ -383,6 +392,7 @@ end: wl_event_source_remove(sigint_source); wl_event_source_remove(sigterm_source); seat_destroy(server.seat); + wlr_xdg_output_manager_v1_destroy(output_manager); wlr_screencopy_manager_v1_destroy(screencopy_manager); wlr_server_decoration_manager_destroy(server_decoration_manager); wlr_xdg_decoration_manager_v1_destroy(xdg_decoration_manager);