Simplify shell restart around quickshell instance management
omarchy-restart-shell now kills by config dir via quickshell kill and relaunches with --no-duplicate, polling kill until every instance is gone since kill returns without waiting and -n silently exits if one remains. The locked-session refusal reads Hyprland monitor state alone, which covers a hung shell holding the lock; the redundant shell IPC probe, availability guards, and omarchy-shell path indirection are gone. Shell IPC calls now time out (2s default, OMARCHY_SHELL_IPC_TIMEOUT to override) so probing an unresponsive shell fails fast instead of hanging the caller. omarchy-hyprland-launch checks dispatch output for "ok" rather than the exit code, which is 0 even on Lua errors, so a failed dispatch falls through to the bash -lc fallback instead of silently launching nothing. The Quattro upgrade cutover delegates to omarchy-restart-shell instead of carrying its own copy of the lock check, pkill, and readiness loop. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
3edf254a12
commit
17c8af3f14
+9
-1
@@ -47,7 +47,15 @@ fi
|
||||
# The -- keeps function names that shadow qs subcommands (e.g. show) as
|
||||
# positionals. qs reports connection failures with a nonzero exit, but IPC-level
|
||||
# failures (unknown target/function, bad arguments) go to stdout with exit 0.
|
||||
output=$(qs -p "$OMARCHY_PATH/shell" ipc call -- "$@" 2>/dev/null) || fail "omarchy-shell is not running"
|
||||
ipc_timeout=${OMARCHY_SHELL_IPC_TIMEOUT:-2s}
|
||||
output=$(timeout --kill-after=1s "$ipc_timeout" qs -p "$OMARCHY_PATH/shell" ipc call -- "$@" 2>/dev/null)
|
||||
ipc_status=$?
|
||||
|
||||
if (( ipc_status == 124 || ipc_status == 137 )); then
|
||||
fail "omarchy-shell is not responding"
|
||||
elif (( ipc_status != 0 )); then
|
||||
fail "omarchy-shell is not running"
|
||||
fi
|
||||
|
||||
case $output in
|
||||
"Target not found." | "Function not found." | "Too few arguments provided"* | "Too many arguments provided"*)
|
||||
|
||||
Reference in New Issue
Block a user