| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2025-10-02 | layout: Extract Monitor::insert_workspace() | Ivan Molodetskikh | |
| 2025-10-02 | layout: Extract Monitor::remove_workspace_by_idx() | Ivan Molodetskikh | |
| 2025-10-02 | layout: Remove unname_workspace() clean-up to Monitor | Ivan Molodetskikh | |
| 2025-10-02 | layout: Extract Monitor::verify_invariants() | Ivan Molodetskikh | |
| 2025-10-02 | layout: Extract Layout::monitors{,_mut}() | Ivan Molodetskikh | |
| 2025-10-02 | layout/tests: Make UpdateConfig an actual Op | Ivan Molodetskikh | |
| We can do it now that it's non-Copy. This also fixes a new stack overflow when running the random test in debug mode (which somehow occurs even though it's skipped in debug mode) that appeared after adding LayoutPart for some unbeknownst to me reason. | |||
| 2025-10-02 | layout/tests: Generate LayoutPart instead of Layout config | Ivan Molodetskikh | |
| Necessary for future changes, also produces much shorter failing output due to not having to include all the options. | |||
| 2025-10-02 | layout: Store Layout directly in Options | Ivan Molodetskikh | |
| 2025-10-02 | config: Split Layout from LayoutPart | Ivan Molodetskikh | |
| 2025-10-02 | config: Replace resolve_against with MergeWith | Ivan Molodetskikh | |
| 2025-10-02 | layout/tests: Make Op non-Copy | Ivan Molodetskikh | |
| 2025-09-20 | Move workspace options check to workspace tests | Ivan Molodetskikh | |
| 2025-09-20 | layout/workspace: Rearrange checks | Ivan Molodetskikh | |
| 2025-09-17 | layout/scrolling: Remove more redundant animate args | Ivan Molodetskikh | |
| These were redundant before too. | |||
| 2025-09-17 | layout/scrolling: Remove now-redundant animate arg | Ivan Molodetskikh | |
| 2025-09-17 | layout/tile: Animate un/fullscreen resize | Ivan Molodetskikh | |
| This turned out to require quite a few changes. We keep track of the tile resize animation progress separately now, in order to provide a resizing black fullscreen backdrop for non-resizable windows. The window is always rendered in the middle of the tile, which once again aids with the resizing black fullscreen backdrop. The backdrop itself will fade in from transparency so that it's less jarring. The resize animation now keeps track of the fullscreen progress to deal with the case where an unfullscreen resize is interrupted by another non-fullscreen resize. In this case, the fullscreen progress continues animating to avoid sudden disappearance of the fullscreen backdrop. Some things like border visibility switch to this fullscreen progress once again to avoid jarring appearance/disappearance. The border radius animates in accordance with the fullscreen progress to match the visuals. | |||
| 2025-09-17 | layout/tile: Remove unused function | Ivan Molodetskikh | |
| As far as I can tell, it was unused even when it was first added. | |||
| 2025-09-17 | layout/tile: Extract two variables | Ivan Molodetskikh | |
| 2025-09-17 | layout/scrolling: Animate tiles_origin changing on un/fullscreen | Ivan Molodetskikh | |
| 2025-09-17 | layout/scrolling: Track pending vs. current fullscreen for Columns | Ivan Molodetskikh | |
| We already did that for Tiles, but for Columns we only tracked what was effectively pending fullscreen. We used it in several places where the current fullscreen should've been used instead, like the tile origin or the view offset. This commit splits the two and makes every place use the right one. Fixes things like tiles briefly appearing at y=0 between issuing the fullscreen command and the tile committing in response to the fullscreen configure. | |||
| 2025-09-17 | layout/scrolling: Store view_offset_before_fullscreen when column actually ↵ | Ivan Molodetskikh | |
| goes fullscreen Simplifies the handling and correctly saves/restores view offset for clients that are slow to fullscreen, as can be seen from the fixed test. | |||
| 2025-09-17 | layout/tests/fullscreen: Add broken removing tile view pos restore test | Ivan Molodetskikh | |
| 2025-09-17 | Add unfullscreen view offset restoration tests | Ivan Molodetskikh | |
| 2025-09-17 | layout/tests: Extract fullscreen tests to submodule | Ivan Molodetskikh | |
| 2025-09-16 | layout: End DnD gesture when toggling interactive move to floating | Ivan Molodetskikh | |
| Effective behavior mostly unchanged (it would end on refresh()), but this was failing the invariant checks. | |||
| 2025-09-16 | layout: Fix crash when a window opens next-to an only interactively moved ↵ | Ivan Molodetskikh | |
| window with no outputs | |||
| 2025-09-15 | layout/tests: Mark operations_dont_panic as slow | Ivan Molodetskikh | |
| It's by far the slowest test (disabling it cuts cargo test time by 2x), and it hadn't caught much in the past months. | |||
| 2025-08-29 | layout/floating: Fix resetting preset width idx instead of height | Ivan Molodetskikh | |
| 2025-08-29 | Add cycle back feature for presets of column/window width/height. | Said Kadrioski | |
| 2025-08-27 | Fix typos | Ivan Molodetskikh | |
| 2025-08-27 | config: Clean up animations struct names | Ivan Molodetskikh | |
| 2025-08-27 | config: Move workspace into its own module | Ivan Molodetskikh | |
| 2025-08-27 | Fix focus=false for move-column-to-workspace*, add to ↵ | gibberish | |
| move-window-to-workspace-up/down | |||
| 2025-08-16 | niri-ipc: Add window positions and sizes (#1265) | yrkv | |
| * Add window sizes and positions to the IPC * basic fixes * report window_loc instead of window pos * clean ups * make scrolling indices 1-based * add printing to niri msg windows * don't include render offset in floating tile pos --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 2025-08-14 | layout: Offset ongoing column X move anims for non-animated resizes | Ivan Molodetskikh | |
| 2025-08-14 | layout/tests: Add two width resize tests with the same issue as just fixed | Ivan Molodetskikh | |
| 2025-08-14 | layout/scrolling: Normalize column X move anim from 1 to 0 | Ivan Molodetskikh | |
| Will be needed for offsetting to fix the resize cancel issue. | |||
| 2025-08-14 | layout: Offset Y animations for non-animated resizes | Ivan Molodetskikh | |
| 2025-08-14 | layout/tests: Add column resize animation tests | Ivan Molodetskikh | |
| 2025-08-14 | layout/tests: Add CompleteAnimations op | Ivan Molodetskikh | |
| 2025-08-14 | layout/tests: Support forced test window size | Ivan Molodetskikh | |
| 2025-08-14 | layout/tests: Support animation snapshot | Ivan Molodetskikh | |
| Only the size is needed in these tests; needed for testing animation progress. | |||
| 2025-08-14 | layout/tests: Extract check_ops_on_layout() | Ivan Molodetskikh | |
| 2025-08-14 | layout: Remove by-ref animation_snapshot() getter | Ivan Molodetskikh | |
| It was used in only one place, and that place was due for an update to use the cached data. | |||
| 2025-08-11 | Bump Smithay (xkbcommon wvkbd fix) | Ivan Molodetskikh | |
| 2025-06-13 | layout/scrolling: Take unfullscreen view offset unconditionally | Ivan Molodetskikh | |
| It might get set and unset all while the view is frozen with a gesture. | |||
| 2025-06-11 | Add deactivate-unfocused-windows debug flag (#1706) | sashomasho | |
| * force xdg deactivation on invisable workspaces This debug option provides a workaround for many Chromium-based chat applications that fail to show notifications when they're active in a workspace that's not currently visible and don't have keyboard focus Signed-off-by: Alex Yosifov <sashomasho@gmail.com> * fixes --------- Signed-off-by: Alex Yosifov <sashomasho@gmail.com> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> | |||
| 2025-06-09 | layout/scrolling: Take parent area into account for popup unconstraining | Ivan Molodetskikh | |
| 2025-06-09 | layout/scrolling: Store parent_area in ScrollingSpace | Ivan Molodetskikh | |
| 2025-06-09 | layout/scrolling: Inline popup_target_rect up to ScrollingSpace | Ivan Molodetskikh | |
