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:
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"exported_at": "2026-05-05T11:08:47Z",
|
"exported_at": "2026-05-05T12:51:04Z",
|
||||||
"decisions": [
|
"decisions": [
|
||||||
{
|
{
|
||||||
"id": "D-1",
|
"id": "D-1",
|
||||||
|
|||||||
@@ -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
|
PgUp/PgDown so Claude Code (and other TUI apps) scroll their
|
||||||
history naturally.
|
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
|
### Changed
|
||||||
|
|
||||||
- Inline terminal emulator based on xterm.dart v4.0.0 — replaces the
|
- Inline terminal emulator based on xterm.dart v4.0.0 — replaces the
|
||||||
|
|||||||
@@ -170,11 +170,9 @@ ifeq ($(FLUTTER_OS),linux)
|
|||||||
> $(HOME)/.local/share/applications/net.schweitz.clide.desktop
|
> $(HOME)/.local/share/applications/net.schweitz.clide.desktop
|
||||||
@gtk-update-icon-cache -f -t $(HOME)/.local/share/icons/hicolor 2>/dev/null || true
|
@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
|
@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 "installed: $(INSTALL_DIR)/clide -> $(INSTALL_PREFIX)/clide/clide"
|
||||||
@echo "desktop: ~/.local/share/applications/net.schweitz.clide.desktop"
|
@echo "desktop: ~/.local/share/applications/net.schweitz.clide.desktop"
|
||||||
@echo "version: $(VERSION)"
|
@echo "version: $(VERSION)"
|
||||||
@echo "tmux: clide socket killed (TEMP)"
|
|
||||||
else ifeq ($(FLUTTER_OS),macos)
|
else ifeq ($(FLUTTER_OS),macos)
|
||||||
@mkdir -p $(HOME)/Applications
|
@mkdir -p $(HOME)/Applications
|
||||||
rm -rf $(HOME)/Applications/clide.app
|
rm -rf $(HOME)/Applications/clide.app
|
||||||
|
|||||||
@@ -190,9 +190,12 @@ class TerminalPainter {
|
|||||||
color = color.withOpacity(0.5);
|
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(
|
final style = _textStyle.toTextStyle(
|
||||||
color: color,
|
color: color,
|
||||||
bold: cellFlags & CellFlags.bold != 0,
|
bold: false,
|
||||||
italic: cellFlags & CellFlags.italic != 0,
|
italic: cellFlags & CellFlags.italic != 0,
|
||||||
underline: cellFlags & CellFlags.underline != 0,
|
underline: cellFlags & CellFlags.underline != 0,
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user