From 6068ad50898d153ac358ea8acdbac477bf626b58 Mon Sep 17 00:00:00 2001 From: Nova Date: Mon, 26 Dec 2022 11:15:37 -0500 Subject: [PATCH] feat(wayland/xdg_shell): set surface states None --- src/wayland/xdg_shell.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/wayland/xdg_shell.rs b/src/wayland/xdg_shell.rs index d684545..5999b3f 100644 --- a/src/wayland/xdg_shell.rs +++ b/src/wayland/xdg_shell.rs @@ -299,12 +299,12 @@ impl Dispatch for WaylandState { xdg_toplevel::Request::SetTitle { title } => { let mut state = data.state.lock(); let queued_state = state.queued_state.as_mut().unwrap(); - queued_state.title = Some(title); + queued_state.title = (!title.is_empty()).then_some(title); } xdg_toplevel::Request::SetAppId { app_id } => { let mut state = data.state.lock(); let queued_state = state.queued_state.as_mut().unwrap(); - queued_state.app_id = Some(app_id); + queued_state.app_id = (!app_id.is_empty()).then_some(app_id); } xdg_toplevel::Request::ShowWindowMenu { seat: _, @@ -321,12 +321,14 @@ impl Dispatch for WaylandState { xdg_toplevel::Request::SetMaxSize { width, height } => { let mut state = data.state.lock(); let queued_state = state.queued_state.as_mut().unwrap(); - queued_state.max_size = Some(Vector2::from([width as u32, height as u32])); + queued_state.max_size = (width > 1 || height > 1) + .then_some(Vector2::from([width as u32, height as u32])); } xdg_toplevel::Request::SetMinSize { width, height } => { let mut state = data.state.lock(); let queued_state = state.queued_state.as_mut().unwrap(); - queued_state.min_size = Some(Vector2::from([width as u32, height as u32])); + queued_state.min_size = (width > 1 || height > 1) + .then_some(Vector2::from([width as u32, height as u32])); } xdg_toplevel::Request::SetMaximized => (), xdg_toplevel::Request::UnsetMaximized => (),