diff --git a/gitstatus/gitstatus.plugin.zsh b/gitstatus/gitstatus.plugin.zsh index 615c85f6..07c36f54 100644 --- a/gitstatus/gitstatus.plugin.zsh +++ b/gitstatus/gitstatus.plugin.zsh @@ -356,7 +356,9 @@ function gitstatus_start() { ${(q)daemon}-static $daemon_args fi echo -nE $'bye\x1f0\x1e'" - cmd="${commands[setsid]:-} zsh -dfxc ${(q)cmd} &!" + local setsid=${commands[setsid]:-/usr/local/opt/util-linux/bin/setsid} + [[ -f $setsid ]] && setsid=${(q)setsid} || setsid= + cmd="$setsid zsh -dfxc ${(q)cmd} &!" # We use `zsh -c` instead of plain {} or () to work around bugs in zplug. It hangs on startup. # Double fork is to daemonize. Some macOS users had issues when gitstatusd was a child process # of the interactive zsh. For example, https://github.com/romkatv/powerlevel10k/issues/123