Ivan Molodetskikh
6c897d5201
Add center-window by-id action
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
6cb5135f34
Clamp single tiled window height
...
Now that we have floating for taller-than-screen windows.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
be05b66ac3
Hide focus ring for unfocused layout and under interactive move
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
6c52077d92
Add move-floating-window action
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
8b0cb0bb57
Add set-window-width action
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
a24a6e4e3c
Implement is-floating window rule matcher
2024-12-30 20:12:37 +03:00
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