aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
AgeCommit message (Collapse)Author
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
2024-11-26layout/tests: Return Layout from check_ops()Ivan Molodetskikh
Cuts down on boilerplate in a few places.
2024-11-26layout: Extract update_options()Ivan Molodetskikh
2024-11-26layout/tests: Allow AddWindowRightOf interactive moved windowIvan Molodetskikh
Guess I forgot this.
2024-11-26layout/tests: Standardize on usize for output id in testsIvan Molodetskikh
2024-11-25Refactor animation timing to use lazy clocksIvan Molodetskikh
2024-11-25Refactor animations to take explicit current timeIvan Molodetskikh
2024-11-23layout/monitor: Extract add_workspace_bottom()Ivan Molodetskikh
2024-11-23Add interactive_move_onto_empty_output testIvan Molodetskikh
Tests the add_workspace_bottom() in Monitor::add_tile().
2024-11-05layout: Preserve active workspace for removed outputsIvan Molodetskikh
2024-11-05layout: Move some types further downIvan Molodetskikh
2024-11-02Follow window corner radius in insert hintIvan Molodetskikh
2024-11-02Add gradient support for the insert hintIvan Molodetskikh
Implement it via FocusRing which already handles SolidColor vs. Border render element.
2024-11-02Remove obsolete TODOIvan Molodetskikh
2024-10-27Implement interactive window moveRasmus Eneman
2024-10-27Require Clone for LayoutElement::IdIvan Molodetskikh
Now that we have MappedId, this could really be Copy. But it's quite a big refactor, so for now just require Clone as I'll need it.
2024-10-17layout: Accept anim_config in remove_column_by_idxIvan Molodetskikh
2024-10-15Draw the layout as inactive when layer-shell has focusIvan Molodetskikh
2024-10-14layout: Return Tile + info upon removalIvan Molodetskikh
2024-10-14layout/tests: Use existing methodIvan Molodetskikh
2024-10-14layout: Remove unnecessary vec lookupIvan Molodetskikh
2024-10-12Implement ConsumeOrExpelWindow{Left,Right} by idIvan Molodetskikh
2024-10-10layout: Deduplicate default width resolutionIvan Molodetskikh
2024-10-10layout: Replace move_window_to_output with move_to_outputIvan Molodetskikh
2024-10-10layout/workspace: Reduce code duplication in adding windowsIvan Molodetskikh
2024-10-10layout: Reduce field visibilityIvan Molodetskikh
The outside code isn't supposed to mess with the fields.
2024-09-12Fix formattingIvan Molodetskikh
2024-09-12Always clamp non-auto window height with >1 windows in columnIvan Molodetskikh
2024-09-12Prevent unintended focus-follows-mouse during workspace switchIvan Molodetskikh
2024-09-12Add SwitchPresetWindowHeight by idIvan Molodetskikh