]> git.mdlowis.com Git - proto/labwc.git/commitdiff
ssd: make borders respect snapped state on Reconfigure
authorConsolatis <35009135+Consolatis@users.noreply.github.com>
Fri, 19 Jul 2024 19:45:24 +0000 (21:45 +0200)
committerJohan Malm <johanmalm@users.noreply.github.com>
Fri, 19 Jul 2024 20:52:26 +0000 (21:52 +0100)
Fixes: #1862
src/ssd/ssd-border.c
src/ssd/ssd.c

index 636042440a25985cdad64f07e643008beef5a965..06ce55c30e36c8ea4e853caaf8d29e67f145d0a2 100644 (file)
@@ -56,6 +56,14 @@ ssd_border_create(struct ssd *ssd)
        if (view->maximized == VIEW_AXIS_BOTH) {
                wlr_scene_node_set_enabled(&ssd->border.tree->node, false);
        }
+
+       if (view->current.width > 0 && view->current.height > 0) {
+               /*
+                * The SSD is recreated by a Reconfigure request
+                * thus we may need to handle squared corners.
+                */
+               ssd_border_update(ssd);
+       }
 }
 
 void
index 86ac12728924f23b54ba0716bfee049ee5efd3e1..70b1b0db3a307f2c600e8faedf2caa3db10f763b 100644 (file)
@@ -188,8 +188,14 @@ ssd_create(struct view *view, bool active)
        ssd->titlebar.height = view->server->theme->title_height;
        ssd_shadow_create(ssd);
        ssd_extents_create(ssd);
-       ssd_border_create(ssd);
+       /*
+        * We need to create the borders after the titlebar because it sets
+        * ssd->state.was_tiled_not_maximized which ssd_border_create()
+        * reacts to. TODO: Set the state here instead so the order does
+        * not matter anymore.
+        */
        ssd_titlebar_create(ssd);
+       ssd_border_create(ssd);
        if (view->ssd_titlebar_hidden) {
                /* Ensure we keep the old state on Reconfigure or when exiting fullscreen */
                ssd_set_titlebar(ssd, false);