Skip to content
This repository was archived by the owner on Nov 8, 2026. It is now read-only.

wingpanel: KillMode=process so restarting the panel keeps its apps - #662

Merged
techmore merged 1 commit into
devfrom
claude/wingpanel-keep-apps
Oct 28, 2026
Merged

techmore merged 1 commit into
devfrom
claude/wingpanel-keep-apps

Conversation

@techmore

Copy link
Copy Markdown
Owner

Apps opened from the panel (Applications menu, indicators) run inside pantheon-wingpanel.service's cgroup. With the default KillMode=control-group, every panel restart kills them; install-network-throughput.sh and activate-t3-panel.sh both restart the panel. This is the same fix the dock already has (install-dock-drawers.sh drop-in).

Found during the memory audit (#659): after 12 h the panel held 1.6 GiB of heap. It wasn't growing (0 MiB over 90 s), so it was a one-off high-water mark rather than a steady leak. Restarting it with a matching user drop-in (~/.config/systemd/user/pantheon-wingpanel.service.d/keep-apps.conf) freed 1.6 GiB, and Messages and transmission-daemon kept running.

The unit installs to /usr/lib/systemd/user via install-pantheon-rust-compositor.sh, so it takes effect system-wide on the next install. The user drop-in covers this machine until then.

🤖 Generated with Claude Code

Apps opened from the panel live in pantheon-wingpanel.service's cgroup;
with the default control-group kill mode, any panel restart (including
install-network-throughput.sh and activate-t3-panel.sh) also killed them,
e.g. Messages and transmission-daemon. Same fix as the dock drop-in.

Verified with a user drop-in: restarting the panel freed 1.6 GiB of
stale heap and Messages and transmission-daemon kept running.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@techmore
techmore merged commit bc4603e into dev Oct 28, 2026
@techmore
techmore deleted the claude/wingpanel-keep-apps branch October 28, 2026 11:29
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant