make spawned apps survive att_menu termination

This commit is contained in:
2026-07-29 21:18:32 +02:00
parent 30fdd5cb28
commit 052a41ad21
2 changed files with 30 additions and 1 deletions
+9
View File
@@ -242,6 +242,15 @@ components/ToggleSwitch.qml On/off switch
- Quickshell's `DesktopEntry.execute()` intentionally ignores `Terminal=true`
and does not strip `Exec` field codes, so entries would be launched with a
literal `%U` argument. `services/AppLauncher.qml` handles both instead.
- `Quickshell.execDetached` detaches a launched app from the panel *process*, but
not from its control group. Run as a systemd user unit — which is how tablet
mode starts the panel — stopping the unit signals every process in the group,
so the panel would take down every app it had ever launched. `AppLauncher` puts
each app in a transient scope of its own with `systemd-run --user --scope`, and
only when `INVOCATION_ID` says the panel is a unit: started from a shell or by
the compositor it shares the session's group, where wrapping buys nothing. A
scope rather than a service, so the app inherits the environment it needs —
`WAYLAND_DISPLAY` above all.
- Icons are resolved through the Qt icon theme, falling back to the last segment
of a reverse-DNS app id (`org.qutebrowser.qutebrowser``qutebrowser`), then
to a lettered tile. The packaged build adds Adwaita and hicolor to