diff options
| author | 2026-05-29 11:18:14 +0100 | |
|---|---|---|
| committer | 2026-05-29 11:18:14 +0100 | |
| commit | 0711f1b4a4045c583c63f494a61262ed1146a944 (patch) | |
| tree | d58a14e6448e11de5510aedafe5cce1150a91637 /thunderbird | |
| parent | 5ee66a0415e88f4fa78986c823dd1ad709524e70 (diff) | |
| download | dotfiles-0711f1b4a4045c583c63f494a61262ed1146a944.tar.gz dotfiles-0711f1b4a4045c583c63f494a61262ed1146a944.tar.bz2 dotfiles-0711f1b4a4045c583c63f494a61262ed1146a944.zip | |
fix(suspend): only inhibit for SSH-spawned zellij sessions
A local zellij session (sway terminal, attended) shouldn't keep the
laptop awake — that's the user actively in front of the machine, and
normal suspend behaviour should apply. Only zellij sessions that were
spawned from an SSH context need the persistent inhibit, so detach +
disconnect leaves the host awake until the session ends.
Use /proc/<pid>/environ to detect SSH-spawned zellij: the daemonised
zellij server is exec'd by the client and Linux preserves the exec-time
environment for the life of the process, so SSH_CONNECTION= survives
the SSH session closing. Walk every running `zellij` pid; hold the
lock as long as at least one of them has SSH_CONNECTION in its environ.
The .path unit still fires on every zellij socket creation, but if no
SSH-spawned zellij exists the watcher exits immediately and the service
stops with no harm done — a couple of cheap process spawns per local
session start, no inhibitor side-effects.
Diffstat (limited to 'thunderbird')
0 files changed, 0 insertions, 0 deletions
