From 8d6bd47bc446680ae600d6413b461c6fb1a6f821 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Fri, 14 Mar 2025 10:30:21 -0700 Subject: [PATCH] Take slice instead of array in `set_workspace_coordinates` As far as I can tell this is equivalent, and there's no particular reason to use an array. Arrays of options for variable-length arrays are awkward. --- src/shell/mod.rs | 2 +- src/wayland/protocols/workspace/mod.rs | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/shell/mod.rs b/src/shell/mod.rs index b01e9e90..d2b5e532 100644 --- a/src/shell/mod.rs +++ b/src/shell/mod.rs @@ -4023,7 +4023,7 @@ fn workspace_set_idx( handle: &WorkspaceHandle, ) { state.set_workspace_name(handle, format!("{}", idx)); - state.set_workspace_coordinates(handle, [Some(idx as u32), Some(output_pos as u32), None]); + state.set_workspace_coordinates(handle, &[idx as u32, output_pos as u32]); } pub fn check_grab_preconditions( diff --git a/src/wayland/protocols/workspace/mod.rs b/src/wayland/protocols/workspace/mod.rs index 17fb034a..aee5d93f 100644 --- a/src/wayland/protocols/workspace/mod.rs +++ b/src/wayland/protocols/workspace/mod.rs @@ -669,22 +669,14 @@ where self.0.workspace_coordinates(workspace) } - pub fn set_workspace_coordinates( - &mut self, - workspace: &WorkspaceHandle, - coords: [Option; 3], - ) { + pub fn set_workspace_coordinates(&mut self, workspace: &WorkspaceHandle, coords: &[u32]) { if let Some(workspace) = self .0 .groups .iter_mut() .find_map(|g| g.workspaces.iter_mut().find(|w| w.id == workspace.id)) { - workspace.coordinates = coords - .iter() - .flat_map(std::convert::identity) - .copied() - .collect(); + workspace.coordinates = coords.to_vec(); } }