aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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>
2025-06-03Add debug option to skip cursor-only updates while VRR is active (#1616)Gwen
* Add debug option to skip cursor-only updates while VRR is active * Update niri-config/src/lib.rs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Update src/backend/tty.rs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Update wiki/Configuration:-Debug-Options.md Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> * Update Configuration:-Debug-Options.md * Update tty.rs * Update lib.rs * Update Configuration:-Debug-Options.md --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-05-25Rename Un/Set/ToggleUrgent to Un/Set/ToggleWindowUrgentIvan Molodetskikh
Overlooked this when reviewing. This change is not cfg-breaking (since you can't bind these directly), but it does break calling these actions through IPC. I don't imagine they are widely used though, and the original PR author who also implemented urgency for bars said he didn't use these actions either.
2025-05-23Account for hidden pointer in move_cursor()Ivan Molodetskikh
2025-05-23Set pointer contents straight to nothing when disabling pointerIvan Molodetskikh
2025-05-23input: do not revert fully invisible cursor to hidden (#1650)Duncan Overbruck
* input: do not force redraw to hide an already hidden cursor * more --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-05-22layer-shell: only reset 'initial_configure_sent' for mapped surfacesalex-huff
2025-05-22layer-shell: don't dismiss popups because of unmapped layer surfacesalex-huff
Fixes #1640
2025-05-22input: Add missing check for output underIvan Molodetskikh
2025-05-21input: Add missing redraws on urgency actionsIvan Molodetskikh
The layout urgent colors update even without window rule changes.
2025-05-21layer-shell: properly handle re-mapalex-huff
According to the zwlr_layer_surface_v1 documentation: Unmapping a layer_surface means that the surface cannot be shown by the compositor until it is explicitly mapped again. The layer_surface returns to the state it had right after layer_shell.get_layer_surface. The client can re-map the surface by performing a commit without any buffer attached, waiting for a configure event and handling it as usual. Before this commit, no configure event was sent when a client performed a commit without any buffer attached.
2025-05-19Improve comment in on-demand layer-shell keyboard alive checkIvan Molodetskikh
2025-05-16Update dependencies more carefullyIvan Molodetskikh
No winit deadlock in this update.
2025-05-16Revert "Update dependencies"Ivan Molodetskikh
Something is causing winit deadlock on nested niri exit. This reverts commit 2ae99224abadd9245f0c55f5842e4a554bdb765e. This reverts commit 0d6843ea67da91aea37b655be5de92dfeea081b5.
2025-05-16Deal with new Clippy warningsIvan Molodetskikh
2025-05-15ipc/client: Make compositor version check for JSON parsing errorsIvan Molodetskikh
These can happen when adding new fields to returned structs.
2025-05-13Update dependenciesIvan Molodetskikh
2025-05-13layout: Fix workspace swipe to same workspace forgetting previous idIvan Molodetskikh
This manifested much more prominently in the overview.
2025-05-12Add center-visible-columns actionIvan Molodetskikh
2025-05-12Implement baba-is-float for layersIvan Molodetskikh