From 2a8d5d1ab6da6a24244a21d18a22ab2433a71f4f Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Tue, 2 Dec 2025 12:34:18 +0100 Subject: [PATCH] tree: allow moving fullscren windows with the keyboard --- src/ifs/wl_seat.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/ifs/wl_seat.rs b/src/ifs/wl_seat.rs index d20d6137..119d16d9 100644 --- a/src/ifs/wl_seat.rs +++ b/src/ifs/wl_seat.rs @@ -747,8 +747,17 @@ impl WlSeatGlobal { pub fn move_focused(self: &Rc, direction: Direction) { let kb_node = self.keyboard_node.get(); - if let Some(tl) = kb_node.node_toplevel() - && let Some(parent) = tl.tl_data().parent.get() + let Some(tl) = kb_node.node_toplevel() else { + return; + }; + let data = tl.tl_data(); + if data.is_fullscreen.get() + && let Some(output) = data.output_opt() + && let Some(target) = self.state.find_output_in_direction(&output, direction) + { + let ws = target.ensure_workspace(); + toplevel_set_workspace(&self.state, tl, &ws); + } else if let Some(parent) = data.parent.get() && let Some(c) = parent.node_into_container() { c.move_child(tl, direction);