diff options
| author | Kent Daleng <lolexplode@gmail.com> | 2025-08-17 16:05:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-17 17:05:41 +0300 |
| commit | dc93f1c1fd7b67e2da5af2ffada732b9ddeb2d6a (patch) | |
| tree | a2f2938a7df17c196be7016dc5fe1fc9f75fb484 /docs/wiki/Configuration:-Miscellaneous.md | |
| parent | a6febb86aa5af0df7bf2792ca027ef95a503d599 (diff) | |
| download | niri-dc93f1c1fd7b67e2da5af2ffada732b9ddeb2d6a.tar.gz niri-dc93f1c1fd7b67e2da5af2ffada732b9ddeb2d6a.tar.bz2 niri-dc93f1c1fd7b67e2da5af2ffada732b9ddeb2d6a.zip | |
github wiki replacement / mkdocs-docs (#2147)
* 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>
Diffstat (limited to 'docs/wiki/Configuration:-Miscellaneous.md')
| -rw-r--r-- | docs/wiki/Configuration:-Miscellaneous.md | 298 |
1 files changed, 298 insertions, 0 deletions
diff --git a/docs/wiki/Configuration:-Miscellaneous.md b/docs/wiki/Configuration:-Miscellaneous.md new file mode 100644 index 00000000..f2d1010a --- /dev/null +++ b/docs/wiki/Configuration:-Miscellaneous.md @@ -0,0 +1,298 @@ +This page documents all top-level options that don't otherwise have dedicated pages. + +Here are all of these options at a glance: + +```kdl +spawn-at-startup "waybar" +spawn-at-startup "alacritty" + +prefer-no-csd + +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" + +environment { + QT_QPA_PLATFORM "wayland" + DISPLAY null +} + +cursor { + xcursor-theme "breeze_cursors" + xcursor-size 48 + + hide-when-typing + hide-after-inactive-ms 1000 +} + +overview { + zoom 0.5 + backdrop-color "#262626" + + workspace-shadow { + // off + softness 40 + spread 10 + offset x=0 y=10 + color "#00000050" + } +} + +xwayland-satellite { + // off + path "xwayland-satellite" +} + +clipboard { + disable-primary +} + +hotkey-overlay { + skip-at-startup + hide-not-bound +} + +config-notification { + disable-failed +} +``` + +### `spawn-at-startup` + +Add lines like this to spawn processes at niri startup. + +`spawn-at-startup` accepts a path to the program binary as the first argument, followed by arguments to the program. + +This option works the same way as the [`spawn` key binding action](./Configuration:-Key-Bindings.md#spawn), so please read about all its subtleties there. + +```kdl +spawn-at-startup "waybar" +spawn-at-startup "alacritty" +``` + +Note that running niri as a systemd session supports xdg-desktop-autostart out of the box, which may be more convenient to use. +Thanks to this, apps that you configured to autostart in GNOME will also "just work" in niri, without any manual `spawn-at-startup` configuration. + +### `prefer-no-csd` + +This flag will make niri ask the applications to omit their client-side decorations. + +If an application will specifically ask for CSD, the request will be honored. +Additionally, clients will be informed that they are tiled, removing some rounded corners. + +With `prefer-no-csd` set, applications that negotiate server-side decorations through the xdg-decoration protocol will have focus ring and border drawn around them *without* a solid colored background. + +> [!NOTE] +> Unlike most other options, changing `prefer-no-csd` will not entirely affect already running applications. +> It will make some windows rectangular, but won't remove the title bars. +> This mainly has to do with niri working around a [bug in SDL2](https://github.com/libsdl-org/SDL/issues/8173) that prevents SDL2 applications from starting. +> +> Restart applications after changing `prefer-no-csd` in the config to fully apply it. + +```kdl +prefer-no-csd +``` + +### `screenshot-path` + +Set the path where screenshots are saved. +A `~` at the front will be expanded to the home directory. + +The path is formatted with `strftime(3)` to give you the screenshot date and time. + +Niri will create the last folder of the path if it doesn't exist. + +```kdl +screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" +``` + +You can also set this option to `null` to disable saving screenshots to disk. + +```kdl +screenshot-path null +``` + +### `environment` + +Override environment variables for processes spawned by niri. + +```kdl +environment { + // Set a variable like this: + // QT_QPA_PLATFORM "wayland" + + // Remove a variable by using null as the value: + // DISPLAY null +} +``` + +### `cursor` + +Change the theme and size of the cursor as well as set the `XCURSOR_THEME` and `XCURSOR_SIZE` environment variables. + +```kdl +cursor { + xcursor-theme "breeze_cursors" + xcursor-size 48 +} +``` + +#### `hide-when-typing` + +<sup>Since: 0.1.10</sup> + +If set, hides the cursor when pressing a key on the keyboard. + +> [!NOTE] +> This setting might interfere with games running in Wine in native Wayland mode that use mouselook, such as first-person games. +> If your character's point of view jumps down when you press a key and move the mouse simultaneously, try disabling this setting. + +```kdl +cursor { + hide-when-typing +} +``` + +#### `hide-after-inactive-ms` + +<sup>Since: 0.1.10</sup> + +If set, the cursor will automatically hide once this number of milliseconds passes since the last cursor movement. + +```kdl +cursor { + // Hide the cursor after one second of inactivity. + hide-after-inactive-ms 1000 +} +``` + +### `overview` + +<sup>Since: 25.05</sup> + +Settings for the [Overview](./Overview.md). + +#### `zoom` + +Control how much the workspaces zoom out in the overview. +`zoom` ranges from 0 to 0.75 where lower values make everything smaller. + +```kdl +// Make workspaces four times smaller than normal in the overview. +overview { + zoom 0.25 +} +``` + +#### `backdrop-color` + +Set the backdrop color behind workspaces in the overview. +The backdrop is also visible between workspaces when switching. + +The alpha channel for this color will be ignored. + +```kdl +// Make the backdrop light. +overview { + backdrop-color "#777777" +} +``` + +You can also set the color per-output [in the output config](./Configuration:-Outputs.md#backdrop-color). + +#### `workspace-shadow` + +Control the shadow behind workspaces visible in the overview. + +Settings here mirror the normal [`shadow` config in the layout section](./Configuration:-Layout.md#shadow), so check the documentation there. + +Workspace shadows are configured for a workspace size normalized to 1080 pixels tall, then zoomed out together with the workspace. +Practically, this means that you'll want bigger spread, offset, and softness compared to window shadows. + +```kdl +// Disable workspace shadows in the overview. +overview { + workspace-shadow { + off + } +} +``` + +### `xwayland-satellite` + +<sup>Since: next release</sup> + +Settings for integration with [xwayland-satellite](https://github.com/Supreeeme/xwayland-satellite). + +When a recent enough xwayland-satellite is detected, niri will create the X11 sockets and set `DISPLAY`, then automatically spawn `xwayland-satellite` when an X11 client tries to connect. +If Xwayland dies, niri will keep watching the X11 socket and restart `xwayland-satellite` as needed. +This is very similar to how built-in Xwayland works in other compositors. + +`off` disables the integration: niri won't create an X11 socket and won't set the `DISPLAY` environment variable. + +`path` sets the path to the `xwayland-satellite` binary. +By default, it's just `xwayland-satellite`, so it's looked up like any other non-absolute program name. + +```kdl +// Use a custom build of xwayland-satellite. +xwayland-satellite { + path "~/source/rs/xwayland-satellite/target/release/xwayland-satellite" +} +``` + +### `clipboard` + +<sup>Since: 25.02</sup> + +Clipboard settings. + +Set the `disable-primary` flag to disable the primary clipboard (middle-click paste). +Toggling this flag will only apply to applications started afterward. + +```kdl +clipboard { + disable-primary +} +``` + +### `hotkey-overlay` + +Settings for the "Important Hotkeys" overlay. + +#### `skip-at-startup` + +Set the `skip-at-startup` flag if you don't want to see the hotkey help at niri startup. + +```kdl +hotkey-overlay { + skip-at-startup +} +``` + +#### `hide-not-bound` + +<sup>Since: next release</sup> + +By default, niri will show the most important actions even if they aren't bound to any key, to prevent confusion. +Set the `hide-not-bound` flag if you want to hide all actions not bound to any key. + +```kdl +hotkey-overlay { + hide-not-bound +} +``` + +You can customize which binds the hotkey overlay shows using the [`hotkey-overlay-title` property](./Configuration:-Key-Bindings.md#custom-hotkey-overlay-titles). + +### `config-notification` + +<sup>Since: next release</sup> + +Settings for the config created/failed notification. + +Set the `disable-failed` flag to disable the "Failed to parse the config file" notification. +For example, if you have a custom one. + +```kdl +config-notification { + disable-failed +} +``` |
