From 350007cbaf23d59a42e3004a3b41db2c7e62e547 Mon Sep 17 00:00:00 2001 From: Nova Date: Thu, 28 Mar 2024 19:29:50 -0400 Subject: [PATCH] fix(wayland): remove nonexistent capabilities --- src/wayland/state.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/wayland/state.rs b/src/wayland/state.rs index 3cf9d81..189b482 100644 --- a/src/wayland/state.rs +++ b/src/wayland/state.rs @@ -12,7 +12,10 @@ use smithay::{ input::{keyboard::XkbConfig, SeatState}, output::{Mode, Output, Scale, Subpixel}, reexports::{ - wayland_protocols::xdg::decoration::zv1::server::zxdg_decoration_manager_v1::ZxdgDecorationManagerV1, + wayland_protocols::xdg::{ + decoration::zv1::server::zxdg_decoration_manager_v1::ZxdgDecorationManagerV1, + shell::server::xdg_toplevel::WmCapabilities, + }, wayland_protocols_misc::server_decoration::server::org_kde_kwin_server_decoration_manager::Mode as DecorationMode, wayland_server::{ backend::{ClientData, ClientId, DisconnectReason}, @@ -31,7 +34,10 @@ use smithay::{ self, DmabufFeedback, DmabufFeedbackBuilder, DmabufGlobal, DmabufHandler, DmabufState, }, output::OutputHandler, - shell::{kde::decoration::KdeDecorationState, xdg::XdgShellState}, + shell::{ + kde::decoration::KdeDecorationState, + xdg::{WmCapabilitySet, XdgShellState}, + }, shm::{ShmHandler, ShmState}, }, }; @@ -155,7 +161,13 @@ impl WaylandState { ); output.set_preferred(mode); - let xdg_shell = XdgShellState::new::(&display_handle); + let mut xdg_shell = XdgShellState::new::(&display_handle); + let mut capabilities = WmCapabilitySet::default(); + capabilities.set(WmCapabilities::Maximize); + capabilities.set(WmCapabilities::Fullscreen); + capabilities.unset(WmCapabilities::Minimize); + capabilities.unset(WmCapabilities::WindowMenu); + xdg_shell.replace_capabilities(capabilities); display_handle.create_global::(3, ()); display_handle.create_global::(1, ()); display_handle.create_global::(2, ());