aboutsummaryrefslogtreecommitdiffstats
path: root/sway
diff options
context:
space:
mode:
authorLibravatar Alexander Orzechowski <alex@ozal.ski>2024-01-23 10:10:42 -0500
committerLibravatar Kirill Primak <vyivel@eclair.cafe>2024-02-12 19:19:22 +0300
commit1dc661af176d80db8b283e9c38fd127f71d33052 (patch)
treebaf75520b0794964485e1bc1c8fa49897506f0eb /sway
parentext-foreign-toplevel-list: Implement protocol (diff)
downloadsway-1dc661af176d80db8b283e9c38fd127f71d33052.tar.gz
sway-1dc661af176d80db8b283e9c38fd127f71d33052.tar.zst
sway-1dc661af176d80db8b283e9c38fd127f71d33052.zip
layer_shell: Arrange popups even if exclusive zone doesn't change
Diffstat (limited to 'sway')
-rw-r--r--sway/desktop/layer_shell.c2
-rw-r--r--sway/desktop/transaction.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index c71abce7..9a35ef95 100644
--- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c
@@ -85,6 +85,8 @@ void arrange_layers(struct sway_output *output) {
85 sway_log(SWAY_DEBUG, "Usable area changed, rearranging output"); 85 sway_log(SWAY_DEBUG, "Usable area changed, rearranging output");
86 output->usable_area = usable_area; 86 output->usable_area = usable_area;
87 arrange_output(output); 87 arrange_output(output);
88 } else {
89 arrange_popups(root->layers.popup);
88 } 90 }
89} 91}
90 92
diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c
index acc3e3f9..c1a988ca 100644
--- a/sway/desktop/transaction.c
+++ b/sway/desktop/transaction.c
@@ -606,9 +606,9 @@ static void arrange_output(struct sway_output *output, int width, int height) {
606 } 606 }
607} 607}
608 608
609static void arrange_popup(struct wlr_scene_tree *popup) { 609void arrange_popups(struct wlr_scene_tree *popups) {
610 struct wlr_scene_node *node; 610 struct wlr_scene_node *node;
611 wl_list_for_each(node, &popup->children, link) { 611 wl_list_for_each(node, &popups->children, link) {
612 struct sway_xdg_popup *popup = scene_descriptor_try_get(node, 612 struct sway_xdg_popup *popup = scene_descriptor_try_get(node,
613 SWAY_SCENE_DESC_POPUP); 613 SWAY_SCENE_DESC_POPUP);
614 614
@@ -679,7 +679,7 @@ static void arrange_root(struct sway_root *root) {
679 } 679 }
680 } 680 }
681 681
682 arrange_popup(root->layers.popup); 682 arrange_popups(root->layers.popup);
683} 683}
684 684
685/** 685/**