aboutsummaryrefslogtreecommitdiff
path: root/src/layout
AgeCommit message (Collapse)Author
2024-12-30layout: Refactor window opening targetsIvan Molodetskikh
2024-12-30floating: Fix window position constraining with non-zero working area locIvan Molodetskikh
2024-12-30floating: Constrain popups to working areaIvan Molodetskikh
2024-12-30floating: Remove TODO on tile removing widthIvan Molodetskikh
2024-12-30floating: Comment on toggle-full-width statusIvan Molodetskikh
2024-12-30layout: Pass and store view_size on a TileIvan Molodetskikh
2024-12-30floating: Take into account non-fixed min/max size window ruleIvan Molodetskikh
2024-12-30floating: Implement the rest of set-window-width/heightIvan Molodetskikh
2024-12-30floating: Implement toggle-width/height actionsIvan Molodetskikh
2024-12-30floating: Change from getters to pub(super)Ivan Molodetskikh
These fields are just data storage. They won't have any logic in getters/setters.
2024-12-30Preserve tile when moving across monitorsIvan Molodetskikh
2024-12-30Remember floating window positionIvan Molodetskikh
2024-12-30Render fullscreen scrolling windows on top of floatingIvan Molodetskikh
2024-12-30floating: Don't use fullscreen size as floating sizeIvan Molodetskikh
2024-12-30Restore floating size during interactive moveIvan Molodetskikh
2024-12-30floating: Update stored size only on removalIvan Molodetskikh
2024-12-30floating: Improve expected size requests to avoid (0, 0) and duplicatesIvan Molodetskikh
2024-12-30layout: Preserve the Tile when moving across workspacesIvan Molodetskikh
2024-12-30floating: Remember and restore window sizeIvan Molodetskikh
2024-12-30floating: Request size only onceIvan Molodetskikh
Let floating windows resize themselves and keep that size.
2024-12-30layout: Rename update_interactive_resize() to on_commit()Ivan Molodetskikh
2024-12-30layout: Accept &mut self in request_fullscreen()Ivan Molodetskikh
2024-12-30layout: Support fullscreen for auto-floating windowsIvan Molodetskikh
2024-12-30layout: Remember whether to unfullscreen back into floatingIvan Molodetskikh
2024-12-30layout: Move toggle_fullscreen() impl to WorkspaceIvan Molodetskikh
2024-12-30floating: Implement directional moveIvan Molodetskikh
2024-12-30layout/floating: Extract move_and_animate()Ivan Molodetskikh
2024-12-30floating: Implement center_window()Ivan Molodetskikh
2024-12-30floating: Implement directional focusIvan Molodetskikh
2024-12-30layout: Implement focus_right_or_first() genericallyIvan Molodetskikh
2024-12-30Extract center_preferring_top_left_in_area()Ivan Molodetskikh
2024-12-30layout/floating: Move a function higher upIvan Molodetskikh
Let's group action functions together. Activate is an action and set width/height too.
2024-12-30Stub out actions when floating is activeIvan Molodetskikh
Make sure they don't go to the unfocused scrolling layout at least.
2024-12-30floating: Implement smarter clamping for window locationIvan Molodetskikh
A small part of the window always remains on-screen regardless of the working area changes. Interactive move lets the user position the window anywhere; automatic actions like toggle-window-floating and dialog opening try to put the window fully on-screen. The size-fraction canonical floating window position remains unclamped, and clamping happens when recomputing the logical position.
2024-12-30Implement floating child stacking above parentsIvan Molodetskikh
2024-12-30layout: Extract TestWindowParamsIvan Molodetskikh
2024-12-30Make interactive move keep in the same layout (floating/tiling)Ivan Molodetskikh
2024-12-30Always honor min height in new window sizeIvan Molodetskikh
2024-12-30Honor min/max size in more places like initial configureIvan Molodetskikh
2024-12-30Initial WIP floating window implementationIvan Molodetskikh
2024-12-08layout: Return instead of breakingIvan Molodetskikh
There's no code past this, and we want to break out of all loops.
2024-12-08layout: Return bool from activate_window()Ivan Molodetskikh
Avoid an extra has_window() call.
2024-12-07layout: Ignore more actions during interactive moveIvan Molodetskikh
The interactively moved window is the active window, so this makes sense.
2024-12-07layout: Extract Tile::verify_invariants()Ivan Molodetskikh
2024-12-07layout: Mark accessors as cfg(test)Ivan Molodetskikh
2024-12-01layout: Extract ScrollingSpaceIvan Molodetskikh
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-01layout: Add a test for windows on other workspace remaining activatedIvan Molodetskikh
2024-12-01layout: Fix windows on other workspaces losing activated stateIvan Molodetskikh
This erroneous check was introduced in interactive move.
2024-12-01layout: Fix possible crash when dropping move on different, animating outputIvan Molodetskikh
2024-12-01layout: Correct variable namesIvan Molodetskikh