aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-08-22wiki/Design-Principles: Clarify sentenceIvan Molodetskikh
2025-08-22wiki: Rearrange and expand design principlesIvan Molodetskikh
2025-08-22wiki/Animation-Timing: Add two nbspsIvan Molodetskikh
The 170 Hz one was at the exact breaking point for me.
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-21wiki/Application-Issues: Mention Waybar black cornersIvan Molodetskikh
2025-08-21Simplify/deduplicate hot corner computationIvan Molodetskikh
2025-08-21Move fallibility inside ExitConfirmDialogIvan Molodetskikh
Makes it less annoying on the outside.
2025-08-21Allow clippy::new_without_defaultIvan Molodetskikh
It's more annoying than useful
2025-08-20Rename spawn-at-startup-sh => spawn-sh-at-startupIvan Molodetskikh
Makes a bit more sense
2025-08-20default-config: Mark orca as allow-when-lockedIvan Molodetskikh
Consistent with GNOME. Move down so allow-when-locked explanation is above.
2025-08-20Add spawn-sh, spawn-at-startup-shIvan Molodetskikh
Our top 10 most confusing config moments
2025-08-19CI: Move feature combinations off the docs critical pathIvan Molodetskikh
Make docs deploy faster. Also don't build --release separately, it's covered by the randomized-tests job.
2025-08-19Update dependenciesIvan Molodetskikh
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-19README: Link awesome-niriIvan Molodetskikh
2025-08-19wiki/Getting-Started: Mention DEs and shellsIvan Molodetskikh
2025-08-19configure section permalinksKent Daleng
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-18wiki/FAQ: Add spaces for search to workIvan Molodetskikh
"pinned" doesn't find anything otherwise
2025-08-18wiki/FAQ: Mention BitwardenIvan Molodetskikh
2025-08-18Update all remaining links to the new wikiIvan Molodetskikh
2025-08-18wiki/FAQ: Mention always on top windowsIvan Molodetskikh
2025-08-18wiki/Application-Issues: Mention Zen dmabuf screencastingIvan Molodetskikh
2025-08-18wiki: Improve home pageIvan Molodetskikh
2025-08-18wiki/FAQ: Mention blurIvan Molodetskikh
2025-08-18wiki/docs: rename index.md to README.mdKent Daleng
2025-08-17wiki: Minor logo updateIvan Molodetskikh
2025-08-17docs: location-agnostic index page (#2256)Kent Daleng
* Update index.md a simple suggestion for a location-agnostic index page * Update docs/wiki/index.md Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-08-17readme: use links to docs instead of gh wikiKent Daleng
(i'm obsessed with making pull requests right in the browser)
2025-08-17ci: Add some blank linesIvan Molodetskikh
2025-08-17rpkg: Fix wiki pathIvan Molodetskikh
2025-08-17ci: Add missing permIvan Molodetskikh
2025-08-17github wiki replacement / mkdocs-docs (#2147)Kent Daleng
* Add wiki based on mkdocs * wording fixes * fix github bg color on narrow * Fix left sidebar section headers being bigger than pages * fix hover accent * fix list rendering on fractional layout * fix videos * fix automatic full links * remove redundant commented css * improve dark mode contrast * update pygments for better child node coloring * update logo * remove blank lines * add systemd language hint --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-08-17tty: Remove warning when rendering with inactive deviceIvan Molodetskikh
2025-08-17Add FreeBSD CI (#2072)Matej Cotman
* feat(ci): add FreeBSD job * Update .github/workflows/ci.yml * fix(workflow): remove 10m timeout for freebsd job, put it back later if there is an actual reason * feat(workflow): enable cache on freebsd job * feat(workflow): add custom CARGO_HOME for freebsd job * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * clean-up * test cache --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
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-16README: Link DiscordIvan Molodetskikh
2025-08-16flake: skip tests that require a valid EGL display (#2244)Cole Helbling
* flake: skip tests that require a valid EGL display Otherwise: niri> failures: niri> niri> ---- tests::animations::clientside_height_change_doesnt_animate stdout ---- niri> niri> thread 'tests::animations::clientside_height_change_doesnt_animate' panicked at src/tests/animations.rs:87:54: niri> called `Result::unwrap()` on an `Err` value: error creating EGL display niri> niri> Caused by: niri> Unable to obtain a valid EGL Display. niri> note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace niri> niri> ---- tests::animations::height_resize_animates_next_y stdout ---- niri> niri> thread 'tests::animations::height_resize_animates_next_y' panicked at src/tests/animations.rs:87:54: niri> called `Result::unwrap()` on an `Err` value: error creating EGL display niri> niri> Caused by: niri> Unable to obtain a valid EGL Display. niri> niri> niri> failures: niri> tests::animations::clientside_height_change_doesnt_animate niri> tests::animations::height_resize_animates_next_y niri> niri> test result: FAILED. 147 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.45s * flake: skip all animations tests, present and future Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * fixup: typo --------- 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-14niri.spec.rpkg: Add mesa-libEGL to build requirementsIvan Molodetskikh
Needed for the client-server animation tests. Signed-off-by: Ivan Molodetskikh <yalterz@gmail.com>
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