aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
AgeCommit message (Collapse)Author
2025-10-02utils/watcher: Support config includesIvan Molodetskikh
2025-10-02Partially implement config includesIvan Molodetskikh
Subsequent commits will add merging for all leftover sections.
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-26Implement screen reader announcements via AccessKitIvan Molodetskikh
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-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-09Add the `LoadConfigFile` action (#2163)vanderlokken
* Add the `LoadConfigFile` action * fixes --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
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-07-18block signals early: now handled correctly with tracy ondemandsodiboo
2025-07-18refactor signal handling, and clear sigmask before spawningsodiboo
2025-07-14Print when exiting by signalIvan Molodetskikh
Doesn't appear to work at the moment?
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-06-07Implement xwayland-satellite integrationIvan Molodetskikh
2025-05-09refactor(main): eliminate a `mut` from config load code in main James Sully
I think this makes for marginally better readability, since you don't have to wonder whether config_errored is set anywhere else. It's also slightly terser.
2025-05-08fix: don't try to create a default config at path that existsJames Sully
Currently this bug has no actual consequences, we just continue silently on AlreadyExists in main() (this line: https://github.com/YaLTeR/niri/blob/e9c6f08906143c3fec1ad1301d538bef4cbc1978/src/main.rs#L151). This commit just eliminates the redundant attempt.
2025-03-22main: Log to stderr instead of stdoutJon Heinritz
Currently we can't use logging in paths like niri msg that have meaningful stdout. Logging to stderr makes that possible. Even if we don't want to log anything in niri msg code paths, it's easy to have something accidentally log.
2025-03-10Add Shell completions (#1226)Jon Heinritz
* feat(cli): add subcommand to generate shell completions * Update src/cli.rs Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com> --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-02-16Enable fancy miette errors for the main binaryIvan Molodetskikh
Seems there's not much dependency/binary size impact now, compared to when I first made the KDL config.
2025-02-12Parse the config on the file watcher threadIvan Molodetskikh
It takes a while, so let's not block the main thread.
2025-02-12watcher: Allow running a processing function on the threadIvan Molodetskikh
2025-02-05Initialize tracing_subscriber earlierpeelz
2025-01-27Don't create on-disk sockets in testsIvan Molodetskikh
2025-01-13Support `WAYLAND_SOCKET` in winit backendbbb651
I know of a single compositor that supports `WAYLAND_SOCKET` but not `WAYLAND_DISPLAY`: https://gitlab.freedesktop.org/mstoeckl/windowtolayer This should also make niri more robust against accidentally setting `WAYLAND_SOCKET` when starting as a session, before programs could fail if they preffered `WAYLAND_SOCKET` over `WAYLAND_DISPLAY`
2024-12-22Add a Headless backend for testsIvan Molodetskikh
Rendering and stuff is unimplemented.
2024-11-29xdg: startup activationChristian Meissl
pass an activation token to process spawned through actions
2024-11-25Refactor animation timing to use lazy clocksIvan Molodetskikh
2024-11-02Add Tracy allocation profiling feature flagIvan Molodetskikh
2024-09-13Add NIRI_DISABLE_SYSTEM_MANAGER_NOTIFY envIvan Molodetskikh
Useful for UWSM I guess.
2024-09-04ipc: Don't re-export socket typesIvan Molodetskikh
2024-09-02Read config from /etc/niri/config.kdl tooIvan Molodetskikh
2024-06-28Implement support for `$NIRI_CONFIG` environment variablesodiboo
2024-05-23Increase RLIMIT_NOFILE to maximumIvan Molodetskikh
Fixes Xwayland + RustRover crashing. See similar changes: * https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2235 * https://github.com/swaywm/sway/pull/6629
2024-05-09Start Tracy manual-lifetime after niri msgIvan Molodetskikh
2024-04-21Implement window-resize custom-shaderIvan Molodetskikh
2024-03-06Remove NOTIFY_FD after reading itIvan Molodetskikh
2024-03-06Adjust commentsIvan Molodetskikh
2024-03-06Add dinit support (#246)metent
* Add dinit support - Add --notify-fd cli flag for ready notifications - Set dinit activation environment when "dinit" feature flag is enabled * Make systemd and dinit environment activation additive * Use NOTIFY_FD env variable instead of --notify-fd cli flag for sending ready notifications * Format with rustfmt
2024-02-24Add environment {} config sectionIvan Molodetskikh
2024-02-22Fix new warningsIvan Molodetskikh
2024-02-21Move watcher to utilsIvan Molodetskikh
2024-02-21Move spawn to submoduleIvan Molodetskikh
2024-02-21Upgrade logs about removing env vars to warn!Ivan Molodetskikh
These are more visible now with the --session flag.
2024-02-21Add systemd feature flag for systemd-specific thingsIvan Molodetskikh
2024-02-21Set XDG_CURRENT_DESKTOP and XDG_SESSION_TYPE from niri itselfIvan Molodetskikh
2024-02-21Add --session CLI flag instead of detection based on systemd serviceIvan Molodetskikh
Allows running without systemd.
2024-02-20utils/spawn: Put processes into systemd scopesIvan Molodetskikh
This separates them from the niri scope for the purposes of e.g. the OOM killer only killing the app and not the compositor.