-
-
Notifications
You must be signed in to change notification settings - Fork 285
Configuration: Miscellaneous
This page documents all top-level options that don't otherwise have dedicated pages.
Here are all of these options at a glance:
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
}
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, so please read about all its subtleties there.
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.
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 that prevents SDL2 applications from starting.
Restart applications after changing prefer-no-csd
in the config to fully apply it.
prefer-no-csd
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.
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.
screenshot-path null
Override environment variables for processes spawned by niri.
environment {
// Set a variable like this:
// QT_QPA_PLATFORM "wayland"
// Remove a variable by using null as the value:
// DISPLAY null
}
Change the theme and size of the cursor as well as set the XCURSOR_THEME
and XCURSOR_SIZE
environment variables.
cursor {
xcursor-theme "breeze_cursors"
xcursor-size 48
}
Since: 0.1.10
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.
cursor {
hide-when-typing
}
Since: 0.1.10
If set, the cursor will automatically hide once this number of milliseconds passes since the last cursor movement.
cursor {
// Hide the cursor after one second of inactivity.
hide-after-inactive-ms 1000
}
Since: 25.05
Settings for the Overview.
Control how much the workspaces zoom out in the overview.
zoom
ranges from 0 to 0.75 where lower values make everything smaller.
// Make workspaces four times smaller than normal in the overview.
overview {
zoom 0.25
}
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.
// Make the backdrop light.
overview {
backdrop-color "#777777"
}
You can also set the color per-output in the output config.
Control the shadow behind workspaces visible in the overview.
Settings here mirror the normal shadow
config in the layout section, 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.
// Disable workspace shadows in the overview.
overview {
workspace-shadow {
off
}
}
Since: next release
Settings for integration with 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.
// Use a custom build of xwayland-satellite.
xwayland-satellite {
path "~/source/rs/xwayland-satellite/target/release/xwayland-satellite"
}
Since: 25.02
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.
clipboard {
disable-primary
}
Settings for the "Important Hotkeys" overlay.
Set the skip-at-startup
flag if you don't want to see the hotkey help at niri startup.
hotkey-overlay {
skip-at-startup
}
Since: next release
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.
hotkey-overlay {
hide-not-bound
}
You can customize which binds the hotkey overlay shows using the hotkey-overlay-title
property.
- Getting Started
- Example systemd Setup
- Important Software
- Workspaces
- Floating Windows
- Tabs
- Overview
- Screencasting
- Layer‐Shell Components
- IPC,
niri msg
- Application-Specific Issues
- Xwayland
- Gestures
- Packaging niri
- FAQ