aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-08-07Reload libinput settings when trackball, tablet and touch changeIvan Molodetskikh
Somehow missed this before.
2025-08-05fix hot reloading `/etc/niri/config.kdl` (#1907)sodiboo
* refactor config load logic, and properly watch the system config path * move config creation to niri-config, and make the errors a bit nicer notably, "error creating config" is now a cause for "error loading config", instead of it being one error and then "error loading config: no such file or directory". also, failure to load a config is now printed as an error level diagnostic (because it is indeed an error, not just a warning you can shrug off) * refactor watcher tests; add some new ones now they check for the file contents too! and i added some tests for ConfigPath::Regular, including a messy one with many symlink swaps * fixes --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-08-04pw_utils: Add Tracy span to queue_after_sync()Ivan Molodetskikh
2025-08-04pw_utils: Set sequence in buffer meta headerIvan Molodetskikh
Useful for debugging.
2025-08-04pw_utils: Remove commented-out unused buffer propsIvan Molodetskikh
2025-08-04pw_utils: Wait for frame completion before queueingIvan Molodetskikh
Without explicit sync, we have no way to signal the PipeWire consumer when the rendering is done. So, wait until it's done before giving it the frame. This should fix flickering screencasts on NVIDIA.
2025-08-04pw_utils: Fill dmabuf strides and offsets at add_buffer()Ivan Molodetskikh
As far as I understand, these don't change.
2025-08-04pw_utils: Store LoopHandleIvan Molodetskikh
2025-08-04pw_utils: Switch to using raw pw_buffersIvan Molodetskikh
We're gonna need to store these in the future, and the lifetime on the pw-rs Buffer prevents us from easily doing that. Besides, we'll need access to metadata which pw-rs doesn't expose yet.
2025-08-04pw_utils: Extract shared state to CastInnerIvan Molodetskikh
2025-08-04pw_utils: Unmark CastState as pubIvan Molodetskikh
2025-08-04pw_utils: Add clarifying comments on maxsize and sizeIvan Molodetskikh
2025-07-31Update Smithay (clipboard client exit nil fix, input region bottom-right fix)Ivan Molodetskikh
2025-07-31signals: Gate on target_os = "linux"Ivan Molodetskikh
Hopefully fixes build on FreeBSD.
2025-07-31signals: Reduce fn visibilityIvan Molodetskikh
2025-07-31xwayland: Make abstract socket optional and Linux-onlyIvan Molodetskikh
Hopefully fixes build on FreeBSD.
2025-07-31Implement org.fd.a11y KeyboardMonitorIvan Molodetskikh
Makes Orca work with niri: - keyboard watching and announcing everywhere (not just GTK 3 windows) - grabs for the Orca modifier (with double-press to pass through) and keystrokes
2025-07-18block signals early: now handled correctly with tracy ondemandsodiboo
2025-07-18refactor signal handling, and clear sigmask before spawningsodiboo
2025-07-15Implement fetching xkb options from org.freedesktop.locale1Ivan Molodetskikh
2025-07-14Print when exiting by signalIvan Molodetskikh
Doesn't appear to work at the moment?
2025-07-14Register `org.freedesktop.ScreenSaver` at `/ScreenSaver`Horu
2025-07-14Fix LockedHint locked conditionIvan Molodetskikh
2025-07-14Set logind LockedHint on lock/unlock (#1763)peelz
* Set logind LockedHint on lock/unlock * fixup! Set logind LockedHint on lock/unlock - use warn!() instead of error!() - extract dbus call into a separate method * fixup! Set logind LockedHint on lock/unlock - Update LockedHint in refresh_and_flush_clients * fixup! Set logind LockedHint on lock/unlock woops * fixup! Set logind LockedHint on lock/unlock - only call SetLockedHint if niri was run with `--session` * fixes --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-07-14handle `SIGINT`, `SIGTERM`, `SIGHUP`sodiboo
2025-07-14don't use smithay::reexports for calloop::EventLoopsodiboo
2025-07-14Add nushell completion support (#2009)Artrix
* Add nushell completion support Adds `clap_complete_nushell` crate and implements it into the `niri completions` command. * Add nushell to flake.nix autocompletions * Convert to `TryFrom` * Fix linting errors * Move types down --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-07-14Simplify pointer handling in constraint checkabmantis
Minor change so that `get_pointer()` (which has a lock) does not get called twice. Also moved the call to `current_location()` to the scope where it is needed.
2025-07-13tests: Add layer-shell scaffolding and an overflow testIvan Molodetskikh
2025-07-13Fix new Clippy warningsIvan Molodetskikh
2025-07-13Implement ext-workspaceIvan Molodetskikh
2025-06-23Update SmithayIvan Molodetskikh
2025-06-19Expose libinput Button Scrolling Button Lock Enabled propertyNikolay Yakimov
2025-06-18Fix typos (#1822)Baily
* Fix: Correct typo in xwayland module and update documentation This commit includes several improvements: 1. **Code Fix (clippy):** - I corrected a typo in `src/utils/xwayland/mod.rs` from `OFlags::WRONGLY` to `OFlags::WRONLY`. This was identified by `clippy` during the build process. 2. **Documentation Updates:** - **README.md**: - I clarified the sentence about finding help in the Matrix channel to be more inviting for new users. - I corrected a future date typo in the Media section for an interview (June 2025 to June 2024). - **wiki/Getting-Started.md**: - I changed the Russian month "мая" to "May" in an example output for better international readability. - I improved keybinding notation for monitor focus/move keys (e.g., Mod+Shift+H / J / K / L) to avoid ambiguity. - I updated `apt-get` to `apt` in Ubuntu dependency installation commands for modern practice. No new typos were found by `typos-cli` in this pass. * Revert README&GS.md to previous version * Apply rustfmt --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-06-13Return app ids with ".desktop" appended to Shell.IntrospectIvan Molodetskikh
This isn't the correct solution, but it seems to work often enough for window icons in the screencast dialog.
2025-06-13layout/scrolling: Take unfullscreen view offset unconditionallyIvan Molodetskikh
It might get set and unset all while the view is frozen with a gesture.
2025-06-12screenshot_ui: Move selection with a second touch tooIvan Molodetskikh
2025-06-12screenshot_ui: Move selection when holding SpaceIvan Molodetskikh
2025-06-12Implement move-column/window-to-monitor actions for the screenshot UIIvan Molodetskikh
2025-06-11Extract output_left/right/up/down/previous/next_of()Ivan Molodetskikh
2025-06-11Expand screenshot UI to handle move-X-or-to-workspace/monitor-X (#1669)Illia Ostapyshyn
* Expand screenshot UI to handle more moving actions Currently, screenshot UI handles MoveColumn{Left,Right} and MoveWindow{Up,Down} which move the screenshot selection as if it were a floating window. Expand this to include MoveColumn*OrToMonitor* and MoveWindow*OrToWorkspace* and adjust their logic to move the screenshot selection. * Update src/input/mod.rs --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-06-11Add 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-10Ignore lock surfaces from unrelated clientsIvan Molodetskikh
gtklock doesn't mind the fact that it got denied the lock, and just creates a new lock surface anyway. And we happily replace the running lock with it.
2025-06-09Accept FloatOrInt for input accel_speed, animation slowdownIvan Molodetskikh
Technically cfg-breaking due to introducing min/max limits at parse time, but values outside these limits were invalid anyway, so maybe it's fine?
2025-06-09layout/scrolling: Take parent area into account for popup unconstrainingIvan Molodetskikh
2025-06-09layout/scrolling: Store parent_area in ScrollingSpaceIvan Molodetskikh
2025-06-09layout/scrolling: Inline popup_target_rect up to ScrollingSpaceIvan Molodetskikh
2025-06-07Implement xwayland-satellite integrationIvan Molodetskikh
2025-06-04Round lock surface size, rather than floorIvan Molodetskikh
There's no problem with 1 px overflow here, while 1 px underflow shows up as a border.
2025-06-03add option to hide unbound actions in hotkey overlay (#1618)Kent Daleng
* add option to hide unbound actions in hotkey overlay * fix config test, add some docs * Add kdl language hint Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Improve docs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * hide_unbound -> hide_not_bound * forgot to rename in wiki * filter actions before calling format * use any instead of contains * retain instead of filter --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>