mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-11-06 00:15:06 +00:00
An agent that animates its title (Claude Code turns a circle one quadrant at a time) sends a new OSC title every few hundred milliseconds. Each one rebuilt the whole window for a tab that reads the same, because TabView::label() strips the mark before drawing it. Two places now read "same title" the way label() does (trimmed, status mark stripped, via tab_view::same_title_ignoring_status_mark): - settle_title treats a frame that only changes the mark as a Revert, so it queues no 400 ms wait and ends in no cx.notify() on the pane. - on_layout_delta asks the machine mirror, before applying a PaneFacts delta, whether the pane's record differs from the mirror's by anything but such a title, and skips apply_layout_delta (whose only effect for PaneFacts is the notify of the root view) when it does not. The mirror is still updated and sync_window still runs. A title whose words change lands as before, so a ticking counter in a title repaints as often as it did. Co-authored-by: kalpak <307643502+kalpakprod@users.noreply.github.com>