aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-09-17layout/tests/fullscreen: Add broken removing tile view pos restore testIvan Molodetskikh
2025-09-17Add unfullscreen view offset restoration testsIvan Molodetskikh
2025-09-17layout/tests: Extract fullscreen tests to submoduleIvan Molodetskikh
2025-09-16Make hot corners configurable, including per-output (#2108)Kai Koehler
* Add corner selection in config * Add hot corner docs * Working per-monitor hot corners Handle defaults * run cargo fmt --all * Fix hot corners in is_sticky_obscured_under * Change default to fall back to gesture hot corners if output hot corners are unset * Add hot corner output config docs * Support fractional scaling * Trigger hot corners over widgets * Improve float handling Fixed YaLTeR/niri/pull/2108 * Refactor * Bug Fixes * Amend docs Fix styling Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Integrate code review Move is_inside_hot_corner * fixes --------- Co-authored-by: Aadniz <8147434+Aadniz@users.noreply.github.com> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-09-16layout: End DnD gesture when toggling interactive move to floatingIvan Molodetskikh
Effective behavior mostly unchanged (it would end on refresh()), but this was failing the invariant checks.
2025-09-16layout: Fix crash when a window opens next-to an only interactively moved ↵Ivan Molodetskikh
window with no outputs
2025-09-15layout/tests: Mark operations_dont_panic as slowIvan 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-09-08Don't clear DISPLAY/WAYLAND_DISPLAY/WAYLAND_SOCKET on WSL with --session (#2354)ilyx
* use winit backend on WSL * Update src/main.rs --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-08-29Change xwl-s spawning error messages from info! to warn!Ivan Molodetskikh
2025-08-29Improve filtering for tests that need EGLIvan Molodetskikh
This way we don't skip the layout animation tests.
2025-08-29layout/floating: Fix resetting preset width idx instead of heightIvan Molodetskikh
2025-08-29Add cycle back feature for presets of column/window width/height.Said Kadrioski
2025-08-29feat: cubic-bezier curve for animation (#2059)Horu
* feat: bezier curve for animation * fixes --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-08-27Fix typosIvan Molodetskikh
2025-08-27config: Clean up animations struct namesIvan Molodetskikh
2025-08-27config: Move workspace into its own moduleIvan Molodetskikh
2025-08-27config: Extract debugIvan Molodetskikh
2025-08-27config: Extract window_ruleIvan Molodetskikh
2025-08-27pw_utils: Add session/stream id to logsIvan Molodetskikh
Signed-off-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-08-27Fix focus=false for move-column-to-workspace*, add to ↵gibberish
move-window-to-workspace-up/down
2025-08-26Save & restore num lock across layout changesIvan Molodetskikh
In particular, this makes the numlock option work with locale1.
2025-08-26input: Don't hide overlays on a11y-consumed key pressesIvan Molodetskikh
2025-08-26Remove redundant commentIvan Molodetskikh
2025-08-26Implement screen reader announcements via AccessKitIvan Molodetskikh
2025-08-26ui/hotkey_overlay: Reorganize bind formatting logic a bitIvan Molodetskikh
Let the caller call tail functions.
2025-08-24tty: Don't print successful max bpc/HDRIvan Molodetskikh
These are not really that useful
2025-08-24feat: reset HDR connector propertiesMichael Yang
2025-08-22exit_confirm_dialog: Add open/close animationIvan Molodetskikh
2025-08-22exit_confirm_dialog: Add backdropIvan Molodetskikh
Makes it more obvious that the focus is taken by the dialog. Makes it easier to tell if you're about to close nested vs. host compositor.
2025-08-22exit_confirm_dialog: Return ArrayVec and add render elementsIvan Molodetskikh
2025-08-21Unfocus layout when exit confirm dialog is openIvan Molodetskikh
Screen readers expect closing a modal dialog to reannounce the previous focus. This makes the exit confirm dialog more modal in this sense: it will unfocus the layout and then focus it back when closed, giving the desired behavior.
2025-08-21Simplify/deduplicate hot corner computationIvan Molodetskikh
2025-08-21Move fallibility inside ExitConfirmDialogIvan Molodetskikh
Makes it less annoying on the outside.
2025-08-20Rename spawn-at-startup-sh => spawn-sh-at-startupIvan Molodetskikh
Makes a bit more sense
2025-08-20Add spawn-sh, spawn-at-startup-shIvan Molodetskikh
Our top 10 most confusing config moments
2025-08-19Update Smithay and fix two unused upscale() callsIvan Molodetskikh
Uh oh. I can't come up with an easy way to test these, so let's just hope that before they were broken and now they work fine?..
2025-08-19Add per-axis scroll speed config for input devices (#2109)Bernardo Kuri
* Add per-axis scroll speed config for input devices. Accepts negative values to inverse scroll direction. Properly complements/overrides global `scroll-direction` setting. Includes docs and tests. * Update per-axis scroll factor implementation after testing - Refined configuration structure in niri-config - Updated input handling to use per-axis scroll factors - Added comprehensive test snapshots - Updated documentation with per-axis examples 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Simplify per-axis scroll factor implementation per review feedback - Make documentation concise and clear - Remove unnecessary comments and test helper functions - Use inline snapshots for tests - Rename get_factors() to h_v_factors() for clarity - Remove unnecessary .clone() calls (ScrollFactor is Copy) - Reduce test count to essential cases only - Fix comment about window factor override behavior 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Remove unnecessary ScrollFactor::new() helper function The maintainer prefers minimal code, so removing this helper and constructing ScrollFactor directly in tests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix scroll factor behavior - all settings now multiply with window factor Per maintainer feedback, both combined and per-axis scroll settings should multiply with the window-specific scroll factor, not override it. This ensures consistent behavior regardless of configuration method. Also removed the now-unused has_per_axis_override() method. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Final cleanup: remove redundant comments and unused snapshot files - Removed unused snapshot files (now using inline snapshots) - Removed redundant inline comments in tests - Simplified test descriptions to be more concise 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Convert scroll factor parsing tests to use assert_debug_snapshot Updates parse_scroll_factor_combined, parse_scroll_factor_split, and parse_scroll_factor_partial tests to use assert_debug_snapshot instead of manual assert_eq comparisons, as requested in PR review. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Convert to inline snapshots as requested - Convert all scroll factor parsing tests to use inline snapshots instead of external files - Remove external snapshot files to keep test directory clean - All tests still pass with inline snapshot assertions 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix missed assert_eq in parse_scroll_factor_mixed test Converts the remaining assert_eq calls to assert_debug_snapshot with inline snapshots in the mixed syntax test function. Also fixes raw string delimiters from ### to #. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * Convert scroll_factor_h_v_factors test to use assert_debug_snapshot Makes all scroll factor tests consistent by using snapshots instead of assert_eq for better maintainability. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> * fixes --------- Co-authored-by: Bernardo Kuri <github@bkuri.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-08-17tty: Remove warning when rendering with inactive deviceIvan Molodetskikh
2025-08-17Add ConfigLoaded event to IPC, option to disable built-in notification (#1829)Horu
* feat: config reload ipc event * cleanups * Rename and move the new config option * rename to ConfigLoaded and emit at connection --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-08-16niri-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-15watcher: Refactor tests to not use threadsIvan Molodetskikh
Fixes flakiness, removes unnecessary waiting.
2025-08-14watcher: Mark tests as ignoredIvan Molodetskikh
Until someone figures out how to fix the flakiness. See https://github.com/YaLTeR/niri/issues/2226
2025-08-14layout: Offset ongoing column X move anims for non-animated resizesIvan Molodetskikh
2025-08-14layout/tests: Add two width resize tests with the same issue as just fixedIvan Molodetskikh
2025-08-14layout/scrolling: Normalize column X move anim from 1 to 0Ivan Molodetskikh
Will be needed for offsetting to fix the resize cancel issue.
2025-08-14layout: Offset Y animations for non-animated resizesIvan Molodetskikh
2025-08-14layout/tests: Add column resize animation testsIvan Molodetskikh
2025-08-14layout/tests: Add CompleteAnimations opIvan Molodetskikh
2025-08-14layout/tests: Support forced test window sizeIvan Molodetskikh
2025-08-14layout/tests: Support animation snapshotIvan Molodetskikh
Only the size is needed in these tests; needed for testing animation progress.