diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/mkdocs.yaml | 1 | ||||
| -rw-r--r-- | docs/wiki/Integrating-niri.md | 44 | ||||
| -rw-r--r-- | docs/wiki/Packaging-niri.md | 2 | ||||
| -rw-r--r-- | docs/wiki/_Sidebar.md | 1 |
4 files changed, 48 insertions, 0 deletions
diff --git a/docs/mkdocs.yaml b/docs/mkdocs.yaml index d3dc4d29..c4506c9c 100644 --- a/docs/mkdocs.yaml +++ b/docs/mkdocs.yaml @@ -85,6 +85,7 @@ nav: - Xwayland: Xwayland.md - Gestures: Gestures.md - Packaging niri: Packaging-niri.md + - Integrating niri: Integrating-niri.md - Accessibility: Accessibility.md - FAQ: FAQ.md - Configuration: diff --git a/docs/wiki/Integrating-niri.md b/docs/wiki/Integrating-niri.md new file mode 100644 index 00000000..8e0fd3fb --- /dev/null +++ b/docs/wiki/Integrating-niri.md @@ -0,0 +1,44 @@ +This page contains various bits of information helpful for integrating niri in a distribution. +First, for creating a niri package, see the [Packaging](./Packaging-niri.md) page. + +### Configuration + +Niri will load configuration from `$XDG_CONFIG_HOME/niri/config.kdl` or `~/.config/niri/config.kdl`, falling back to `/etc/niri/config.kdl`. +If both of these files are missing, niri will create `$XDG_CONFIG_HOME/niri/config.kdl` with the contents of [the default configuration file](https://github.com/YaLTeR/niri/blob/main/resources/default-config.kdl), which are embedded into the niri binary at build time. + +This means that you can customize your distribution defaults by creating `/etc/niri/config.kdl`. +When this file is present, niri *will not* automatically create a config at `~/.config/niri/`, so you'll need to direct your users how to do it themselves. + +Keep in mind that we update the default config in new releases, so if you have a custom `/etc/niri/config.kdl`, you likely want to inspect and apply the relevant changes too. + +Splitting the niri config file into multiple files, or includes, are not supported yet. + +### Xwayland + +Xwayland is required for running X11 apps and games, and also the Orca screen reader. + +<sup>Since: next release</sup> Niri integrates with [xwayland-satellite](https://github.com/Supreeeme/xwayland-satellite) out of the box. +The integration requires xwayland-satellite >= 0.7 available in `$PATH`. +Please consider making niri depend on (or at least recommend) the xwayland-satellite package. + +You can change the path where niri looks for xwayland-satellite using the [`xwayland-satellite` top-level option](./Configuration:-Miscellaneous.md#xwayland-satellite). + +### Keyboard layout + +<sup>Since: next release</sup> By default (unless [manually configured](./Configuration:-Input.md#layout) otherwise), niri reads keyboard layout settings from systemd-localed at `org.freedesktop.locale1` over D-Bus. +Make sure your system installer sets the keyboard layout via systemd-localed, and niri should pick it up. + +### Autostart + +Niri works with the normal systemd autostart. +The default [niri.service](https://github.com/YaLTeR/niri/blob/main/resources/niri.service) brings up `graphical-session.target` as well as `xdg-desktop-autostart.target`. + +To make a program run at niri startup without editing the niri config, you can either link its .desktop to `~/.config/autostart/`, or use a .service file with `WantedBy=graphical-session.target`. +See the [example systemd setup](./Example-systemd-Setup.md) page for some examples. + +If this is inconvenient, you can also add [`spawn-at-startup`](./Configuration:-Miscellaneous.md#spawn-at-startup) lines in the niri config. + +### Screen readers + +Niri works with the [Orca](https://orca.gnome.org) screen reader. +Please see the [Accessibility](./Accessibility.md) page for details and advice for accessibility-focused distributions. diff --git a/docs/wiki/Packaging-niri.md b/docs/wiki/Packaging-niri.md index c8f8ab30..fdf2b545 100644 --- a/docs/wiki/Packaging-niri.md +++ b/docs/wiki/Packaging-niri.md @@ -28,6 +28,8 @@ To do that, put files into the correct directories according to this table. Doing this will make niri appear in GDM and other display managers. +See the [Integrating niri](./Integrating-niri.md) page for further information on distribution integration. + ### Running tests A bulk of our tests spawn niri compositor instances and test Wayland clients. diff --git a/docs/wiki/_Sidebar.md b/docs/wiki/_Sidebar.md index 5dcddf45..73c08224 100644 --- a/docs/wiki/_Sidebar.md +++ b/docs/wiki/_Sidebar.md @@ -14,6 +14,7 @@ * [Xwayland](./Xwayland.md) * [Gestures](./Gestures.md) * [Packaging niri](./Packaging-niri.md) +* [Integrating niri](./Integrating-niri.md) * [Accessibility](./Accessibility.md) * [FAQ](./FAQ.md) |
