aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-10-15layout: Unfullscreen before removing for interactive moveIvan Molodetskikh
Several reasons for this: - Remove the sizing code from interactive move duplicated with toggle_window_floating. - Make the tiled size restore too instead of requesting 0x0 (which doesn't work for windows in the Tiled state).
2025-10-15Extract with_toplevel_last_uncommitted_configure()Ivan Molodetskikh
2025-10-15tests/floating: Add more edge casesIvan Molodetskikh
2025-10-15tests/floating: Extract set_up_with_config()Ivan Molodetskikh
2025-10-02Support calibration-matrix in touch input configSzybet
2025-10-02tty: Add support for disabling DRM devicesShaun Ren
2025-10-02tty: Close DRM device session fd in device_removed()Shaun Ren
Same logic as in cosmic-comp.
2025-10-02config: Add merging for AnimationsIvan Molodetskikh
2025-10-02config: Add merging for GesturesIvan Molodetskikh
2025-10-02config: Add merging for misc sectionsIvan Molodetskikh
2025-10-02utils/watcher: Support config includesIvan Molodetskikh
2025-10-02utils/watcher: Extract PropsIvan Molodetskikh
2025-10-02Partially implement config includesIvan Molodetskikh
Subsequent commits will add merging for all leftover sections.
2025-10-02Add layout overrides to window_opening testIvan Molodetskikh
2025-10-02layout: Move scrolling width resolution to workspaceIvan Molodetskikh
This is required now with per-output and per-workspace options.
2025-10-02layout/monitor: Fix wrong Clone/Copy generic boundsIvan Molodetskikh
2025-10-02Add per-output layout configIvan Molodetskikh
2025-10-02Move background rendering to WorkspaceIvan Molodetskikh
Per-output background-color doesn't work yet.
2025-10-02Add per-workspace layout configIvan Molodetskikh
Per-workspace background-color doesn't work yet.
2025-10-02layout: Extract Monitor::append_workspaces()Ivan Molodetskikh
2025-10-02layout: Move empty workspace handling to Monitor::new()Ivan Molodetskikh
2025-10-02layout: Extract Monitor::into_workspaces()Ivan Molodetskikh
2025-10-02layout: Deduplicate move_workspace_to_output()Ivan Molodetskikh
2025-10-02layout: Extract Monitor::insert_workspace()Ivan Molodetskikh
2025-10-02layout: Extract Monitor::remove_workspace_by_idx()Ivan Molodetskikh
2025-10-02layout: Remove unname_workspace() clean-up to MonitorIvan Molodetskikh
2025-10-02layout: Extract Monitor::verify_invariants()Ivan Molodetskikh
2025-10-02layout: Extract Layout::monitors{,_mut}()Ivan Molodetskikh
2025-10-02layout/tests: Make UpdateConfig an actual OpIvan 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-02layout/tests: Generate LayoutPart instead of Layout configIvan Molodetskikh
Necessary for future changes, also produces much shorter failing output due to not having to include all the options.
2025-10-02layout: Store Layout directly in OptionsIvan Molodetskikh
2025-10-02config: Split Layout from LayoutPartIvan Molodetskikh
2025-10-02config: Replace resolve_against with MergeWithIvan Molodetskikh
2025-10-02config: Introduce MergeWith traitIvan Molodetskikh
2025-10-02layout/tests: Make Op non-CopyIvan Molodetskikh
2025-09-20Move workspace options check to workspace testsIvan Molodetskikh
2025-09-20layout/workspace: Rearrange checksIvan Molodetskikh
2025-09-19Fix DnD icon offset from surface cursorIvan Molodetskikh
The offset is already relative to the hotspot, no need to offset twice.
2025-09-18Fix layer-shell initial commit logicIvan Molodetskikh
I didn't properly update it for the Smithay refactor. It was reading initial_configure_sent too early. This worked before when niri had to reset it manually, but it no longer works now that it is automatically reset already before entering this function.
2025-09-17Update Smithay (last_acked refactor, Qt layer-shell popup grab fix, popup ↵Ivan Molodetskikh
ordering fix)
2025-09-17Add unmap-from-floating testIvan Molodetskikh
Hits a code path that reads the last acked state after unmapping.
2025-09-17tests/client: Check and panic on protocol errorIvan Molodetskikh
Otherwise it keeps inf-looping.
2025-09-17Add sending initial configure trace logIvan Molodetskikh
2025-09-17Downgrade lack of our initial configure from error! to debug!Ivan Molodetskikh
This can happen if a surface unmaps by committing a null buffer and then immediately does the initial commit without a sync roundtrip, while there are pending configures from the compositor in-flight. In this case, the surface cannot tell that the pending configures were meant for "before unmapping" and considers them to be the new initial configure. From our point of view, we don't get to do a proper initial configuration sequence in this case, and receive a mapping commit without our initial configure state. We cannot really do much about it, but it is not an error when this specific situation happens.
2025-09-17Improve commit handler trace loggingIvan Molodetskikh
2025-09-17layout/scrolling: Remove more redundant animate argsIvan Molodetskikh
These were redundant before too.
2025-09-17layout/scrolling: Remove now-redundant animate argIvan Molodetskikh
2025-09-17layout/tile: Animate un/fullscreen resizeIvan 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-17layout/tile: Remove unused functionIvan Molodetskikh
As far as I can tell, it was unused even when it was first added.
2025-09-17layout/tile: Extract two variablesIvan Molodetskikh