aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
AgeCommit message (Collapse)Author
2025-01-17Implement window shadowsIvan Molodetskikh
2025-01-10Fix new Clippy warningsIvan Molodetskikh
2025-01-10Allow workspace names to be changed dynamically (#904)rustn00b
* Add un/set workspace name actions * Add SetWorkspaceName reference to proptests * Simplify unname_workspace * Add ewaf version of set first workspace name test * Simplify more * Fix comment * Make workspace in set-workspace-name a positional option --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-01-09Add missing interactively moved window check in center_windowIvan Molodetskikh
2025-01-09Add a window swap operation (#899)rustn00b
Swap the active window with the a neighboring column's active window. --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> Take into account PR comments - no longer behave like an expel when a swap is made in a direction where there is no column to swap with - fix janky animation
2025-01-04Migrate to new Rectangle functionsIvan Molodetskikh
2024-12-30Add toggle-window-width by-id actionIvan Molodetskikh
2024-12-30Implement default-window-height for scrolling windowsIvan Molodetskikh
2024-12-30Fix move-window-to-workspace panic when wrong monitor is activeIvan Molodetskikh
2024-12-30Add center-window by-id actionIvan Molodetskikh
2024-12-30Hide focus ring for unfocused layout and under interactive moveIvan Molodetskikh
2024-12-30layout: Add animate arg to move_floating_window()Ivan Molodetskikh
2024-12-30Add move-floating-window actionIvan Molodetskikh
2024-12-30Add focus-floating/tiling actionsIvan Molodetskikh
2024-12-30Add move-window-to-floating/tiling actionsIvan Molodetskikh
2024-12-30Add set-window-width actionIvan Molodetskikh
2024-12-30Implement is-floating window rule matcherIvan Molodetskikh
2024-12-30layout: Refactor window opening targetsIvan 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: 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-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: Remember whether to unfullscreen back into floatingIvan Molodetskikh
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-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-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-11-29Activate newly mapped windows with a valid activation tokenChristian Meissl
most of the time the activation token is passed while the window is still unmapped. in this case store the intend to activate the window for later retrieval on map.
2024-11-29Implement empty-workspace-above-first (#745)FluxTape
* Implement empty-workspace-above-first option * add two failing tests * fix interactive_move_onto_empty_output_ewaf and interactive_move_onto_first_empty_workspace tests * Add two failing ewaf option toggle tests * Fix adding/removing first empty workspace on option toggle * Don't remove first empty workspace if focused * Stop workspace switch when enabling ewaf * layout/monitor: Offset workspace switch on adding workspace above * Fix some initial active workspace ids with ewaf * wiki: Document empty-workspace-above-first --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-11-27layout: Stop workspace switch when moving workspaces to primaryIvan Molodetskikh
Okay, this might be one of the oldest layout issues to have remained uncaught. Well, maybe as I add more randomized tests, I'll catch even more of those.
2024-11-26layout/tests: Add post option update to randomized testIvan Molodetskikh
Will help to catch cases where updating options doesn't update the state correctly.
2024-11-26layout: Fix adjusting for scale for moved tile when reloading configIvan Molodetskikh