suppress bold rendering in terminal to keep cell grid stable

Flutter falls back to synthetic bold when JetBrainsMono-Bold isn't
registered, and synthetic bold drifts glyph advance widths enough
to break the monospace cell grid (cursor block lands between
characters, prompts wrap mid-word). Color is enough to convey
emphasis in TUIs; semantic italic and underline still render.

Also drop the temporary `tmux -L clide kill-server` from the
install target — the rapid-iteration loop is no longer needed.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-05-05 14:51:04 +02:00
co-authored by Claude
parent c378503e26
commit 4ff004790d
4 changed files with 11 additions and 4 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
{
"exported_at": "2026-05-05T11:08:47Z",
"exported_at": "2026-05-05T12:51:04Z",
"decisions": [
{
"id": "D-1",
+6
View File
@@ -22,6 +22,12 @@ heading, and (b) bumping `pubspec.yaml` `version:` in the same commit.
PgUp/PgDown so Claude Code (and other TUI apps) scroll their
history naturally.
### Fixed
- Terminal cell grid no longer drifts on bold text — bold rendering
is suppressed at the painter level since synthetic bold (with no
Bold.ttf registered) shifts glyph advance widths.
### Changed
- Inline terminal emulator based on xterm.dart v4.0.0 — replaces the
-2
View File
@@ -170,11 +170,9 @@ ifeq ($(FLUTTER_OS),linux)
> $(HOME)/.local/share/applications/net.schweitz.clide.desktop
@gtk-update-icon-cache -f -t $(HOME)/.local/share/icons/hicolor 2>/dev/null || true
@update-desktop-database $(HOME)/.local/share/applications 2>/dev/null || true
@tmux -L clide kill-server 2>/dev/null || true
@echo "installed: $(INSTALL_DIR)/clide -> $(INSTALL_PREFIX)/clide/clide"
@echo "desktop: ~/.local/share/applications/net.schweitz.clide.desktop"
@echo "version: $(VERSION)"
@echo "tmux: clide socket killed (TEMP)"
else ifeq ($(FLUTTER_OS),macos)
@mkdir -p $(HOME)/Applications
rm -rf $(HOME)/Applications/clide.app
+4 -1
View File
@@ -190,9 +190,12 @@ class TerminalPainter {
color = color.withOpacity(0.5);
}
// Skip bold rendering — Flutter's synthetic bold (no Bold.ttf
// registered) drifts glyph advance widths slightly, breaking
// the cell grid. Color is enough to convey emphasis in TUIs.
final style = _textStyle.toTextStyle(
color: color,
bold: cellFlags & CellFlags.bold != 0,
bold: false,
italic: cellFlags & CellFlags.italic != 0,
underline: cellFlags & CellFlags.underline != 0,
);