Run SwayOSD as a session service (#5656)

* Run SwayOSD as a session service

* Restart SwayOSD after clean exits

* We don't need the input backend (as we manage the hotkeys in Hyprland)

* Ensure we cleanup the old service starter

* Not needed

* Not needed either

* Clean up migration

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
This commit is contained in:
Patrick Rodrigues
2026-05-07 19:43:27 +02:00
committed by GitHub
co-authored by David Heinemeier Hansson
parent 402da79f54
commit fa1ed01cd7
6 changed files with 33 additions and 2 deletions
+1
View File
@@ -16,6 +16,7 @@ if [[ -f $FIRST_RUN_MODE ]]; then
bash "$OMARCHY_PATH/install/first-run/firewall.sh"
bash "$OMARCHY_PATH/install/first-run/dns-resolver.sh"
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
bash "$OMARCHY_PATH/install/first-run/swayosd.sh"
bash "$OMARCHY_PATH/install/first-run/gtk-primary-paste.sh"
bash "$OMARCHY_PATH/install/first-run/elephant.sh"
omarchy-hook-install post-update "$OMARCHY_PATH/install/first-run/install-voxtype.hook"
+4
View File
@@ -2,4 +2,8 @@
# omarchy:summary=Restart the SwayOSD server
if systemctl --user is-enabled --quiet swayosd-server.service; then
systemctl --user restart swayosd-server.service
else
omarchy-restart-app swayosd-server
fi
@@ -0,0 +1,13 @@
[Unit]
Description=SwayOSD server
PartOf=graphical-session.target
After=graphical-session.target
[Service]
Type=simple
ExecStart=/usr/bin/swayosd-server
Restart=always
RestartSec=2
[Install]
WantedBy=graphical-session.target
-1
View File
@@ -3,7 +3,6 @@ exec-once = uwsm-app -- mako
exec-once = ! omarchy-toggle-enabled waybar-off && uwsm-app -- waybar
exec-once = uwsm-app -- fcitx5 --disable notificationitem
exec-once = uwsm-app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm-app -- swayosd-server
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = omarchy-first-run
exec-once = omarchy-powerprofiles-init
+2
View File
@@ -0,0 +1,2 @@
systemctl --user daemon-reload
systemctl --user enable --now swayosd-server.service
+12
View File
@@ -0,0 +1,12 @@
echo "Run SwayOSD as a supervised session service"
mkdir -p ~/.config/systemd/user
cp "$OMARCHY_PATH/config/systemd/user/swayosd-server.service" ~/.config/systemd/user/swayosd-server.service
if [[ -f ~/.config/hypr/autostart.conf ]]; then
sed -i '/^exec-once = uwsm-app -- swayosd-server$/d' ~/.config/hypr/autostart.conf
fi
pkill -x swayosd-server || true
bash "$OMARCHY_PATH/install/first-run/swayosd.sh"