Ivan Molodetskikh
daaee43be3
layout: Refactor window opening targets
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
28b78a563b
layout: Pass and store view_size on a Tile
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
1710bb78df
floating: Implement toggle-width/height actions
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
38350935e6
layout: Rename update_interactive_resize() to on_commit()
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
f38acfe988
layout: Remember whether to unfullscreen back into floating
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
965619d096
layout: Move toggle_fullscreen() impl to Workspace
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
14b1003c62
layout: Implement focus_right_or_first() generically
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
71842f07bd
Make interactive move keep in the same layout (floating/tiling)
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
c5fffd6e2c
Initial WIP floating window implementation
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
27e607ab82
layout: Return bool from activate_window()
...
Avoid an extra has_window() call.
2024-12-08 09:25:27 +03:00
Ivan Molodetskikh
396089ef0e
layout: Extract Tile::verify_invariants()
2024-12-07 19:38:48 +03:00
Ivan Molodetskikh
df98b5021d
layout: Mark accessors as cfg(test)
2024-12-07 19:38:48 +03:00
Ivan Molodetskikh
8665003269
layout: Extract ScrollingSpace
...
Leave the Workspace to do the workspace parts, and extract the scrolling parts
into a new file. This is a pre-requisite for things like the floating layer
(which will live in a workspace alongside the scrolling layer).
As part of this huge refactor, I found and fixed at least these issues:
- Wrong horizontal popup unconstraining for a smaller window in an
always-centered column.
- Wrong workspace switch in focus_up_or_right().
2024-12-01 22:24:21 -08:00