diff options
| author | Vladimir-csp <4061903+Vladimir-csp@users.noreply.github.com> | 2025-07-12 10:48:26 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2025-07-14 13:20:30 +0300 |
| commit | 88339633b1dcbbafc42f1be6f51cc1ec8d895239 (patch) | |
| tree | ecd85ead9392531515857b58ad0bc06ef198d637 /resources | |
| parent | 22e43193e05ad49e2c3a34a0755ce41bc0c880a0 (diff) | |
| download | niri-88339633b1dcbbafc42f1be6f51cc1ec8d895239.tar.gz niri-88339633b1dcbbafc42f1be6f51cc1ec8d895239.tar.bz2 niri-88339633b1dcbbafc42f1be6f51cc1ec8d895239.zip | |
Detect external session management
This should make `uwsm start niri.desktop` possible like with other compositors.
Diffstat (limited to 'resources')
| -rwxr-xr-x | resources/niri-session | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/resources/niri-session b/resources/niri-session index 4e4fb096..ff9a5c6f 100755 --- a/resources/niri-session +++ b/resources/niri-session @@ -1,5 +1,15 @@ #!/bin/sh +# Detect if being run as a user service, which implies external session management, +# exec compositor directly +if [ -n "${MANAGERPID:-}" ] && [ "${SYSTEMD_EXEC_PID:-}" = "$$" ]; then + case "$(ps -p "$MANAGERPID" -o cmd=)" in + *systemd*--user*) + exec niri --session + ;; + esac +fi + if [ -n "$SHELL" ] && grep -q "$SHELL" /etc/shells && ! (echo "$SHELL" | grep -q "false") && |
