diff --git a/wayland.c b/wayland.c index c40d0111..5f7ff049 100644 --- a/wayland.c +++ b/wayland.c @@ -931,12 +931,16 @@ wayl_win_init(struct terminal *term) xdg_toplevel_set_app_id(win->xdg_toplevel, "foot"); /* Request server-side decorations */ - win->xdg_toplevel_decoration = zxdg_decoration_manager_v1_get_toplevel_decoration( - wayl->xdg_decoration_manager, win->xdg_toplevel); - zxdg_toplevel_decoration_v1_set_mode( - win->xdg_toplevel_decoration, ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); - zxdg_toplevel_decoration_v1_add_listener( - win->xdg_toplevel_decoration, &xdg_toplevel_decoration_listener, win); + if (wayl->xdg_decoration_manager != NULL) { + win->xdg_toplevel_decoration = zxdg_decoration_manager_v1_get_toplevel_decoration( + wayl->xdg_decoration_manager, win->xdg_toplevel); +#if 0 /* Let compositor choose */ + zxdg_toplevel_decoration_v1_set_mode( + win->xdg_toplevel_decoration, ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); +#endif + zxdg_toplevel_decoration_v1_add_listener( + win->xdg_toplevel_decoration, &xdg_toplevel_decoration_listener, win); + } for (size_t i = 0; i < 5; i++) { win->csd.surface[i] = wl_compositor_create_surface(wayl->compositor);