aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
AgeCommit message (Collapse)Author
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
2024-09-12 Implement preset window heightsChristian Rieger
2024-09-06Implement by-id window addressing in IPC and CLI, fix move-column-to-workspaceIvan Molodetskikh
This is a JSON-breaking change for the IPC actions that changed from unit variants to struct variants. Unfortunately, I couldn't find a way with serde to both preserve a single variant, and make it serialize to the old value when the new field is None. I don't think anyone is using these actions from JSON at the moment, so this breaking change is fine.
2024-09-05implement always_center_single_column layout optionelkowar
2024-09-03Use libdisplay-info for make/model/serial parsing, implement throughoutIvan Molodetskikh
2024-09-01Implement by-id workspace action addressingIvan Molodetskikh
It's not added to clap because there's no convenient mutually-exclusive argument enum derive yet (to have either the current <REFERENCE> or an --id <ID>). It's not added to config parsing because I don't see how it could be useful there. As such, it's only accessible through raw IPC.
2024-09-01Implement the event stream IPCIvan Molodetskikh
2024-09-01Animate focus-workspace by idx/back and forth/previousIvan Molodetskikh
Deleting the test because it only made sense when no-animation was special cased.
2024-09-01layout: Cache monitor output nameIvan Molodetskikh
2024-08-23Implement window close transactionIvan Molodetskikh
Mainly visible with disabled animations.
2024-08-23Extract Niri::update_render_elements()Ivan Molodetskikh
2024-08-22Implement resize transactionsIvan Molodetskikh
2024-08-22Implement window resize throttlingIvan Molodetskikh
2024-08-15layout: Implement weighted height distributionIvan Molodetskikh
The intention is to make columns add up to the working area height most of the time, while still preserving the ability to have one fixed-height window. Automatic heights are now distributed according to their weight, rather than evenly. This is similar to flex-grow in CSS or fraction in Typst. Resizing one window in a column still makes that window fixed, however it changes all other windows to automatic height, computing their weights in such a way as to preserve their apparent heights.
2024-07-22Add negative struts to testsIvan Molodetskikh
2024-07-10Add move-column-{left/right}-or-to-monitor-{left/right} (#528)Winter
* feature added, move-column-left-or-monitor-left and move-column-right-or-monitor-right * fixed stupid mistake * yalter's fixes * fixed names * fixed a stupid mistake --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-07-05Implement focus-follows-mouse max-scroll-amountIvan Molodetskikh
2024-07-05layout: Remove todo!() when activating window with no monitorsIvan Molodetskikh
2024-07-05Added Commnads to focus windows or Monitors above/below the active window (#497)TheAngusMcFire
* Implement focus-window-up/down-or-monitor calls * Fixed wrong naming of focus-window-or-monitor commands * fix copy pase errors for focusing direction * Fixed wrong behaviour when the current workspace is empty * Cleanup navigation code to reduce complexity * Fix wrong comments and add testcases for FocusWindowOrMonitorUp/Down --------- Co-authored-by: Christian Rieger <christian.rieger@student.tugraz.at>
2024-06-28feat: add `focus-column-or-monitor-left`, `focus-column-or-monitor-right` (#456)Filipe Paniguel
* feat: add support for focus-window-or-monitor * addresses output without window case * refactor: reduce verbosity * update this.. * refactor: rename `maybe_focus_window` functions * refactor: flip focus_window_or_output return logic * Update src/layout/mod.rs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * refactor: rename to Column * move blocks next to other Column variables --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2024-06-19Implement vertical middle mouse gestureIvan Molodetskikh
2024-06-18Animate xdg-activation and foreign-toplevel workspace switchesIvan Molodetskikh
These are a bit jarring without an animation.