From 88339633b1dcbbafc42f1be6f51cc1ec8d895239 Mon Sep 17 00:00:00 2001 From: Vladimir-csp <4061903+Vladimir-csp@users.noreply.github.com> Date: Sat, 12 Jul 2025 10:48:26 +0300 Subject: Detect external session management This should make `uwsm start niri.desktop` possible like with other compositors. --- resources/niri-session | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'resources') 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") && -- cgit