From 6021f4d83fc1d7e179c334a010af9b37e44a1bb2 Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Fri, 25 Apr 2025 11:50:34 -0400 Subject: [PATCH 1/7] input/seatop_down: Update decorations for touchscreen inputs fixes #8675 --- sway/input/seatop_down.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sway/input/seatop_down.c b/sway/input/seatop_down.c index 340e334bf..f64e5a4f2 100644 --- a/sway/input/seatop_down.c +++ b/sway/input/seatop_down.c @@ -100,6 +100,7 @@ static void handle_touch_down(struct sway_seat *seat, if (focused_node) { seat_set_focus(seat, focused_node); + transaction_commit_dirty(); } } From 8d3a52aa3076a34b008aed8ba142c955329a8874 Mon Sep 17 00:00:00 2001 From: alex-huff Date: Wed, 7 May 2025 21:00:03 -0500 Subject: [PATCH 2/7] move: fix broken titlebar when moving child to new workspace Before this commit, when moving a non-leaf child of a tabbed or stacking container to a new workspace, the child would be detached from the parent container and the grandchildren would be sent to the new workspace but the child itself wouldn't be destroyed causing the titlebar to still be rendered as part of the parent container. Fixes #8648. --- sway/commands/move.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sway/commands/move.c b/sway/commands/move.c index 8891514ce..90e8585b4 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c @@ -222,6 +222,7 @@ static void container_move_to_workspace(struct sway_container *container, container_detach(container); if (workspace_is_empty(workspace) && container->pending.children) { workspace_unwrap_children(workspace, container); + container_reap_empty(container); } else { container->pending.width = container->pending.height = 0; container->width_fraction = container->height_fraction = 0; From 3fbff5b4bb600efa10630013546115a4f6e0d74a Mon Sep 17 00:00:00 2001 From: GreyXor <79602273+GreyXor@users.noreply.github.com> Date: Thu, 15 May 2025 11:50:05 +0200 Subject: [PATCH 3/7] build: bump wlroots version --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 646f694c2..07a6bccff 100644 --- a/meson.build +++ b/meson.build @@ -38,14 +38,14 @@ if is_freebsd endif # Execute the wlroots subproject, if any -wlroots_version = ['>=0.19.0', '<0.20.0'] +wlroots_version = ['>=0.20.0', '<0.21.0'] subproject( 'wlroots', default_options: ['examples=false'], required: false, version: wlroots_version, ) -wlroots = dependency('wlroots-0.19', version: wlroots_version, fallback: 'wlroots') +wlroots = dependency('wlroots-0.20', version: wlroots_version, fallback: 'wlroots') wlroots_features = { 'xwayland': false, 'libinput_backend': false, From 652019d6da630e58ed212632f0c3a4231eaab4e4 Mon Sep 17 00:00:00 2001 From: Bill Li Date: Thu, 15 May 2025 22:23:10 +0800 Subject: [PATCH 4/7] input/text_input: chase wlroots update References: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/5032 Fix #8718 --- sway/input/text_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sway/input/text_input.c b/sway/input/text_input.c index c84fac8f6..0eb76eb16 100644 --- a/sway/input/text_input.c +++ b/sway/input/text_input.c @@ -632,7 +632,7 @@ void sway_input_method_relay_init(struct sway_seat *seat, wl_list_init(&relay->input_popups); relay->text_input_new.notify = relay_handle_text_input; - wl_signal_add(&server.text_input->events.text_input, + wl_signal_add(&server.text_input->events.new_text_input, &relay->text_input_new); relay->text_input_manager_destroy.notify = relay_handle_text_input_manager_destroy; wl_signal_add(&server.text_input->events.destroy, From a4072486ded62fcde586c10230cc79af833c55b6 Mon Sep 17 00:00:00 2001 From: alex-huff Date: Thu, 15 May 2025 17:51:39 -0500 Subject: [PATCH 5/7] transaction: ensure border scene is enabled for floating containers When a container that was previously an inactive child of a tabbed or stacking layout becomes floating it's border scene-tree remains disabled. This results in only the titlebar being rendered for the container. This commit ensures the border scene-tree is enabled when arranging floating containers. Fixes #8721 --- sway/desktop/transaction.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c index 781e0008c..74929f8c9 100644 --- a/sway/desktop/transaction.c +++ b/sway/desktop/transaction.c @@ -534,6 +534,7 @@ static void arrange_workspace_floating(struct sway_workspace *ws) { wlr_scene_node_set_position(&floater->scene_tree->node, floater->current.x, floater->current.y); wlr_scene_node_set_enabled(&floater->scene_tree->node, true); + wlr_scene_node_set_enabled(&floater->border.tree->node, true); arrange_container(floater, floater->current.width, floater->current.height, true, ws->gaps_inner); From 810142dcc4228941b644ad68334d0b6f539b6fab Mon Sep 17 00:00:00 2001 From: odyxz Date: Mon, 6 Jan 2025 13:21:08 +0200 Subject: [PATCH 6/7] raise scratchpad container --- sway/tree/root.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sway/tree/root.c b/sway/tree/root.c index 19d072b5c..33c29d381 100644 --- a/sway/tree/root.c +++ b/sway/tree/root.c @@ -199,6 +199,8 @@ void root_scratchpad_show(struct sway_container *con) { if (old_ws) { workspace_consider_destroy(old_ws); } + + container_raise_floating(con); } static void disable_fullscreen(struct sway_container *con, void *data) { From fb6d61b58f4deeea4a5738473424fc80c00f9415 Mon Sep 17 00:00:00 2001 From: alex-huff Date: Tue, 6 May 2025 17:36:16 -0500 Subject: [PATCH 7/7] transaction: fix size of child container decorations in stacking layouts Before this commit stacking containers with more than one child sized the active container's decorations as if there was only one titlebar. Commit a25645a introduced the local variable 'net_height' but incorrectly calculated it for stacking containers. Fixes #8686. --- sway/desktop/transaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c index 74929f8c9..f8bc64b57 100644 --- a/sway/desktop/transaction.c +++ b/sway/desktop/transaction.c @@ -343,7 +343,7 @@ static void arrange_children(enum sway_container_layout layout, list_t *children wlr_scene_node_set_position(&child->scene_tree->node, 0, title_height); wlr_scene_node_reparent(&child->scene_tree->node, content); - int net_height = height - title_bar_height; + int net_height = height - title_height; if (activated && width > 0 && net_height > 0) { arrange_container(child, width, net_height, title_bar_height == 0, 0); } else {