<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotfiles/dot_config/systemd/user/signal.service, branch master</title>
<subtitle>My linux config and rc files</subtitle>
<id>https://git.sommerfeld.dev/dotfiles/atom/dot_config/systemd/user/signal.service?h=master</id>
<link rel='self' href='https://git.sommerfeld.dev/dotfiles/atom/dot_config/systemd/user/signal.service?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/'/>
<updated>2026-05-13T12:43:26Z</updated>
<entry>
<title>fix(signal): import XDG_SESSION_TYPE/DESKTOP into user systemd + clean stop</title>
<updated>2026-05-13T12:43:26Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:26Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=0b15f70f0de6e6af089cb70090822cd8ccc10c48'/>
<id>urn:sha1:0b15f70f0de6e6af089cb70090822cd8ccc10c48</id>
<content type='text'>
Two issues with the sway autostart of signal.service:

1. Electron picks its tray backend from XDG_SESSION_TYPE and
   XDG_SESSION_DESKTOP. The sway config only imported DISPLAY,
   WAYLAND_DISPLAY, SWAYSOCK and XDG_CURRENT_DESKTOP into the systemd
   user manager, so services launched there got a partial env and
   Electron registered no SNI tray icon. Worked when launched from a
   terminal (which inherits sway's full env, including the bits set by
   pam_systemd). Add the two missing variables to both
   systemctl import-environment and dbus-update-activation-environment.

2. With minimize-to-tray on, Electron treats SIGTERM as a window-close
   and just hides the window, so 'systemctl --user stop signal' did
   nothing visible until the 90s default timeout SIGKILLed. Switch to
   ExecStop=flatpak kill org.signal.Signal, which uses flatpak's own
   instance manager to actually terminate the sandboxed app, plus a
   short TimeoutStopSec as a safety net.
</content>
</entry>
<entry>
<title>Revert "fix(signal): wait for StatusNotifierWatcher before launching"</title>
<updated>2026-05-13T12:43:26Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:26Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=41b4bfd9bcc2bab54abfd0b6d9995118884d5e61'/>
<id>urn:sha1:41b4bfd9bcc2bab54abfd0b6d9995118884d5e61</id>
<content type='text'>
This reverts commit 6eafc884f77a367f04dc4e7b35ca999de5bea271.
</content>
</entry>
<entry>
<title>fix(signal): wait for StatusNotifierWatcher before launching</title>
<updated>2026-05-13T12:43:26Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:26Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=422dfee0ab8da4e312b7d5107dddc099bc82bb96'/>
<id>urn:sha1:422dfee0ab8da4e312b7d5107dddc099bc82bb96</id>
<content type='text'>
Without this, signal.service races with waybar at session start: if
Signal asks for the SNI watcher before waybar has registered it on
the bus, it launches with no tray icon and --start-in-tray hides the
main window with no way to bring it back. Add Requires/After=waybar
and an ExecStartPre that polls busctl for the watcher (up to 30s).
</content>
</entry>
<entry>
<title>feat(sway): autostart Signal via user systemd unit</title>
<updated>2026-05-13T12:43:26Z</updated>
<author>
<name>sommerfeld</name>
<email>sommerfeld@sommerfeld.dev</email>
</author>
<published>2026-05-13T12:43:26Z</published>
<link rel='alternate' type='text/html' href='https://git.sommerfeld.dev/dotfiles/commit/?id=370139e565363e2929a3b98dbf43a8bca338114c'/>
<id>urn:sha1:370139e565363e2929a3b98dbf43a8bca338114c</id>
<content type='text'>
Sway does not honour XDG $HOME/.config/autostart/, so the in-app
'start at login' toggle is a no-op. Use a user unit wired into
sway-session.target with --start-in-tray, matching the existing
waybar/swayidle/cliphist/etc. pattern.
</content>
</entry>
</feed>
