]> git.mdlowis.com Git - proto/labwc.git/commitdiff
view: fix unexpected view->tiled with SnapToEdge against centered view
authortokyo4j <hrak1529@gmail.com>
Fri, 10 Oct 2025 08:30:55 +0000 (17:30 +0900)
committerJohan Malm <johanmalm@users.noreply.github.com>
Fri, 10 Oct 2025 18:48:42 +0000 (19:48 +0100)
In 2ac4811, I was missing that windows can be tiled to "center".
As a result, after executing
`<action name="SnapToEdge" combined="yes" direction="left" />` against a
center-tiled window, `view->tiled` is set to `CENTER|LEFT`.

src/view.c

index 792401cfdbc168f8b58c931073d5e5b7f7808f85..ddfe6b1e1ab84b144067fb685e56d4a6855574a2 100644 (file)
@@ -2161,7 +2161,8 @@ view_snap_to_edge(struct view *view, enum lab_edge edge,
 
        view_set_shade(view, false);
 
-       if (lab_edge_is_cardinal(edge) && view->maximized == VIEW_AXIS_NONE) {
+       if (lab_edge_is_cardinal(edge) && view->maximized == VIEW_AXIS_NONE
+                       && view->tiled != LAB_EDGE_CENTER) {
                enum lab_edge invert_edge = lab_edge_invert(edge);
                /* Represents axis of snapping direction */
                enum lab_edge parallel_mask = edge | invert_edge;