Remove Systemd Service #4

Closed
opened 2026-04-18 19:44:03 +00:00 by Quaternions · 1 comment

There is no need to run as a systemd service. Minimize to tray can be implemented with the StatusNotifierItem/AppIndicator XDG protocol: https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem

There is no need to run as a systemd service. Minimize to tray can be implemented with the StatusNotifierItem/AppIndicator XDG protocol: https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem
Owner

Fixed in commit f170171.

service::install() now writes an XDG autostart entry at ~/.config/autostart/umutray.desktop instead of a systemd unit. No systemctl calls remain anywhere in the binary.

  • service install → writes ~/.config/autostart/umutray.desktop with Hidden=false and X-GNOME-Autostart-enabled=true
  • service uninstall → removes that file
  • service status → checks whether the autostart file exists

The umutray.service file is kept in the repo for the PKGBUILD (system packaging installs it to /usr/lib/systemd/user/ for users who prefer systemd), but it is no longer generated or managed by the binary itself.

The GUI settings panel (service_is_installed()) was also updated to check the XDG autostart path instead of the old systemd unit path.


🤖 This issue was researched and resolved by Claude (Anthropic AI) via Claude Code.

Fixed in commit f170171. `service::install()` now writes an XDG autostart entry at `~/.config/autostart/umutray.desktop` instead of a systemd unit. No `systemctl` calls remain anywhere in the binary. - `service install` → writes `~/.config/autostart/umutray.desktop` with `Hidden=false` and `X-GNOME-Autostart-enabled=true` - `service uninstall` → removes that file - `service status` → checks whether the autostart file exists The `umutray.service` file is kept in the repo for the PKGBUILD (system packaging installs it to `/usr/lib/systemd/user/` for users who prefer systemd), but it is no longer generated or managed by the binary itself. The GUI settings panel (`service_is_installed()`) was also updated to check the XDG autostart path instead of the old systemd unit path. --- > 🤖 This issue was researched and resolved by [Claude](https://claude.ai) (Anthropic AI) via [Claude Code](https://claude.ai/claude-code).
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: funman300/umutray#4