Skip to content

Box-drawing characters render with incorrect color #263

@MattKotsenas

Description

@MattKotsenas

Summary

Box-drawing characters (│ ─ ┌ etc.) inside psmux render with a fixed light grey color, ignoring the ANSI color attributes applied to them. Text on the same line renders with the correct color. This affects apps like GitHub Copilot CLI and lazygit whose borders look different inside psmux vs a plain Windows Terminal tab.

Environment

  • psmux: 3.3.3
  • PowerShell: 7.5.5
  • Windows Terminal: 1.24.2604.02001
  • OS: Microsoft Windows 10.0.26200
  • TERM: xterm-256color
  • Console encoding: UTF-8
  • Theme: catppuccin mocha (via psmux-plugins/psmux-theme-catppuccin)

Repro

Run this inside psmux, then in a plain WT tab without psmux:

Write-Host "`e[90m│ SGR 90 (bright black)`e[0m"
Write-Host "`e[37m│ SGR 37 (white)`e[0m"
Write-Host "`e[2m│ SGR 2 (faint/dim)`e[0m"
Write-Host "`e[1;37m│ SGR 1;37 (bold white)`e[0m"
Write-Host "`e[38;5;240m│ 256-color 240`e[0m"
Write-Host "`e[38;5;250m│ 256-color 250`e[0m"
Write-Host "`e[38;2;128;128;128m│ truecolor grey`e[0m"
Write-Host "`e[38;2;255;0;0m│ truecolor red`e[0m"

Expected (plain WT)

Each renders in a different color matching its SGR attribute. The text label also renders in that color.

Actual (inside psmux)

The text labels render with the correct colors, but the characters all render as the same light grey, ignoring the ANSI attributes. This suggests box-drawing characters are routed through a separate rendering path that does not carry forward the current SGR state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions