From f3b280a56ef40e1bd7c53ce15424403a7f4706ed Mon Sep 17 00:00:00 2001 From: ItsDrike Date: Thu, 4 Sep 2025 16:19:36 +0200 Subject: [PATCH] Add services connected to systemd-lock-handler --- home/.config/systemd/user/hyprlock.service | 17 +++++++++++++++++ .../systemd/user/swaync-inhibit-lock.service | 12 ++++++++++++ .../systemd/user/swaync-inhibit-unlock.service | 12 ++++++++++++ install_gui.sh | 2 +- 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 home/.config/systemd/user/hyprlock.service create mode 100644 home/.config/systemd/user/swaync-inhibit-lock.service create mode 100644 home/.config/systemd/user/swaync-inhibit-unlock.service diff --git a/home/.config/systemd/user/hyprlock.service b/home/.config/systemd/user/hyprlock.service new file mode 100644 index 0000000..2dfd084 --- /dev/null +++ b/home/.config/systemd/user/hyprlock.service @@ -0,0 +1,17 @@ +[Unit] +Description=Run hyprlock screenlocker on lock dbus event (using systemd-lock-handler) +Requisite=graphical-session.target +# If hyprlock exits cleanly, enter a 'unlock' target +OnSuccess=unlock.target +# When lock is stopped, stop this unit too +PartOf=lock.target + +[Service] +ExecStart=/usr/bin/hyprlock +StandardOutput=journal +ExecStopPost=/bin/loginctl unlock-session +Restart=on-failure +Slice=session-graphical.slice + +[Install] +WantedBy=lock.target diff --git a/home/.config/systemd/user/swaync-inhibit-lock.service b/home/.config/systemd/user/swaync-inhibit-lock.service new file mode 100644 index 0000000..658342b --- /dev/null +++ b/home/.config/systemd/user/swaync-inhibit-lock.service @@ -0,0 +1,12 @@ +[Unit] +Description=Inhibit swaync notifications on lock dbus event (using systemd-lock-handler) +Requisite=swaync.service +Before=lock.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/swaync-client --inhibitor-add screen-locker +Slice=session-graphical.slice + +[Install] +WantedBy=lock.target diff --git a/home/.config/systemd/user/swaync-inhibit-unlock.service b/home/.config/systemd/user/swaync-inhibit-unlock.service new file mode 100644 index 0000000..0e79678 --- /dev/null +++ b/home/.config/systemd/user/swaync-inhibit-unlock.service @@ -0,0 +1,12 @@ +[Unit] +Description=Uninhibit swaync notifications on unlock event +Requisite=swaync.service +After=unlock.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/swaync-client --inhibitor-remove screen-locker +Slice=session-graphical.slice + +[Install] +WantedBy=unlock.target diff --git a/install_gui.sh b/install_gui.sh index aec8328..215fb3c 100755 --- a/install_gui.sh +++ b/install_gui.sh @@ -146,7 +146,7 @@ gsettings set org.gnome.desktop.interface cursor-size 24 # Services sudo systemctl enable --now seatd.service -systemctl --user enable polkit-gnome-agent.service fumon.service hyprpaper.service hypridle.service hyprsunset.service elephant.service walker.service swaync.service +systemctl --user enable polkit-gnome-agent.service fumon.service hyprpaper.service hypridle.service hyprsunset.service elephant.service walker.service swaync.service systemd-lock-handler.service hyprlock.service swaync-inhibit-lock.service swaync-inhibit-unlock.service echo "GUI Installation finished, you should now reboot and run uwsm start hyprland.desktop" echo ""