Skip to content

Render check across kitty, alacritty, wezterm, GNOME Terminal and tmux #13

Description

@sinhaparth5

Rendering has only ever been checked in one terminal. progress.md lists this as unverified:
"Render check across kitty, alacritty, wezterm, GNOME Terminal and tmux — needs those terminals".

The parts most likely to differ are the ones that were hardest to get right, which is the
uncomfortable combination:

  • The braille area chart in the Graph view. Braille cell rendering varies more between fonts
    than almost anything else.
  • Double-width glyph handling. Text is measured in cells via Utf8ToGlyphs, with an empty entry
    standing in for the second column of a wide glyph. If a terminal disagrees with that model about
    any particular glyph, the right-hand border tears — the exact failure this design exists to
    prevent.
  • Colour depth detection. DetectColorDepth reads TERM/COLORTERM, recognises WT_SESSION,
    and treats a -direct terminfo entry as 24-bit. Each of these terminals advertises itself
    differently, and guessing low is not free: two palettes that differ in 24-bit can land on the same
    256 index, which makes a theme switch look like a broken key.
  • tmux specifically, which sits between gittop and the real terminal and rewrites both the
    colour capability and the mouse protocol. It deserves its own pass rather than being one entry in
    the list.
  • Mouse reporting. SGR sequences are used for clicks and the wheel; tmux and some terminals need
    configuration before those arrive at all.

Proposed

Run the same short script in each: switch every tab, open the graph, open a diff with a
double-width filename, toggle themes with t, click a tab, scroll with the wheel. Record what
gittop --version and the settings page report for detected colour depth in each one, since a wrong
detection is the failure most likely to go unnoticed.

The nerd glyph set is separately unverified in appearance — its mechanism is tested (the right
strings reach the screen and widths are computed from them) but there was no patched font available
to render it with. A terminal check is the natural moment to close that too.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions