swayfx/sway/tree
Ronan Pigott 8eb0c54693 introduce workspace_squash
workspace_squash is container_flatten in the reverse
direction. Instead of eliminating redundant splits that are
parents of the target container, it eliminates pairs of
redundant H/V splits that are children of the workspace.

Splits are redundant if a con and its grandchild have the
same layout, and the immediate child has the opposite split.

For example, layouts are transformed like:

    H[V[H[app1 app2]] app3] -> H[app1 app2 app3]

i3 uses this operation to simplify the tree after moving
heavily nested containers to a higher level in the tree via
an orthogonal move.
2020-12-20 00:58:42 -05:00
..
arrange.c Make sure we don't calculate fractional pixel gaps 2020-01-01 10:14:29 -07:00
container.c introduce workspace_squash 2020-12-20 00:58:42 -05:00
node.c Fix scratchpad fullscreen behavior and crash 2019-04-13 08:48:37 -06:00
output.c Change workspace_layout to match i3 behavior 2020-12-20 00:58:42 -05:00
root.c Fix crash when showing scratchpad hidden split containers 2020-01-16 21:48:25 -05:00
view.c Change workspace_layout to match i3 behavior 2020-12-20 00:58:42 -05:00
workspace.c introduce workspace_squash 2020-12-20 00:58:42 -05:00