Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions bin/fm-tmux-lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,13 @@ fm_tmux_composer_state() { # <target> -> empty|pending|unknown
stripped=${line//│/} # U+2502 light vertical (claude)
stripped=${stripped//┃/} # U+2503 heavy vertical
stripped=${stripped//|/} # ASCII pipe
# Normalize the non-breaking space (U+00A0) the claude composer pads its prompt
# with into an ASCII space. The trim below uses POSIX [:space:], which does NOT
# match U+00A0, so without this an idle "❯<NBSP>" prompt survives the trim, never
# matches the bare-prompt "empty" case, and reads as pending input — wedging the
# away-mode daemon (it deferred 100% of escalations) and tripping fm-send's
# swallowed-Enter check on every idle pane.
stripped=${stripped//$'\xc2\xa0'/ } # U+00A0 NBSP -> ASCII space
# Trim surrounding whitespace.
stripped="${stripped#"${stripped%%[![:space:]]*}"}"
stripped="${stripped%"${stripped##*[![:space:]]}"}"
Expand Down