aboutsummaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
Diffstat (limited to 'resources')
-rwxr-xr-xresources/niri-session3
-rw-r--r--resources/niri-shutdown.target7
2 files changed, 10 insertions, 0 deletions
diff --git a/resources/niri-session b/resources/niri-session
index 46d73aa2..0ba9af34 100755
--- a/resources/niri-session
+++ b/resources/niri-session
@@ -40,5 +40,8 @@ fi
# Start niri and wait for it to terminate.
systemctl --user --wait start niri.service
+# Force stop of grahical-session.target.
+systemctl --user start --job-mode=replace-irreversibly niri-shutdown.target
+
# Unset environment that we've set.
systemctl --user unset-environment WAYLAND_DISPLAY XDG_SESSION_TYPE XDG_CURRENT_DESKTOP
diff --git a/resources/niri-shutdown.target b/resources/niri-shutdown.target
new file mode 100644
index 00000000..769ea16f
--- /dev/null
+++ b/resources/niri-shutdown.target
@@ -0,0 +1,7 @@
+[Unit]
+Description=Shutdown running niri session
+DefaultDependencies=no
+StopWhenUnneeded=true
+
+Conflicts=graphical-session.target graphical-session-pre.target
+After=graphical-session.target graphical-session-pre.target