Files
MeshTerm/docs/terminals.md
T
Jean-Pierre MartineauandClaude Opus 5 5fbba275f6 The manuals describe what the code and scripts do today
Every manual was read against the code, the scripts and the upstream sources, and the
samples in docs/cli.md were recaptured under --mock where they had drifted.

The one a newcomer would hit first: config.example.toml set default_profile to a COM5
profile. Copied verbatim, as configuration.md says to, it broke every device command on a
machine with no COM5. default_profile is commented out now, so the copied file leaves
discovery working. default_tx_power goes from both, because nothing reads it.

docs/cli.md: config show has 22 settings and preferences show 21, not 20 and 8; monitor's
blocks have no blank line between them; the diagnostics sample is labelled as a real-radio
example with absolute instants and every table; an unknown key exits 1; devices, role and
records describe the values they really produce; no maintainer paths; and the "used to"
passages describe the present, since a first-time reader never saw the past.

picocalc.md: the Calculinux image carries a build stamp, so the gunzip and dd lines take
a wildcard; the front SD slot stays empty on first boot; masking wifi-kick is what stops
it, and time-sync is disabled with it; updates run the scripts from the pulled checkout
with TMPDIR set; the tested list names only what a test checks; git ships in the base
image; a bare meshterm shows the splash, and -p picocalc skips it.

uconsole.md: an AIO v2 needs MESHCORE_EN_PINS=27 whichever runtime is installed; the
bookworm paragraph states what upstream actually ships; the bridge shares the key but
keeps its own contacts and radio settings; the defaults are the US/Canada preset; Step 7
downloads what it installs; updating ends with a restart; no claim of test coverage the
suite does not have.

terminals.md, features.md, hardware.md, cookbook.md, configuration.md and the scripts
READMEs get the smaller corrections their audits found.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-21 11:28:24 -04:00

2.3 KiB

Terminals, icons, and the Windows console

Why MeshTerm looks right in some terminals and draws empty boxes in others, what it does about it on Windows, and how to turn all of that off.

MeshTerm is drawn with emoji icons, braille charts and powerline path chips. Whether you see them is up to your terminal, not really your font: a modern terminal, asked for a character its font doesn't have, quietly borrows it from another font on the machine. That's why the app looks right in Windows Terminal, in VS Code's terminal, and on macOS and Linux — usually with a font that contains almost none of it. The exception is macOS's Terminal app, where the charts may draw misaligned: no Mac monospace font has braille, so it is borrowed from a proportional one at the wrong width.

The classic Windows console — the black cmd.exe window a double-click opens on Windows 10 — doesn't borrow. (Windows 11, 22H2 and later, opens Windows Terminal by default instead.) It draws what its one font holds and empty boxes for everything else, and no font fixes the icons there: the only two fonts on a Windows machine with emoji in them are proportional, and a console won't take a proportional font.

So when MeshTerm lands in that console it just moves to Windows Terminal — it says so, and opens there. Nothing is installed and nothing is changed; it's one window instead of another, and it's the whole app exactly as the screenshots show it. Windows Terminal is already on every Windows 11 machine and is a free install on Windows 10.

Where there's no Windows Terminal to move to, and the console's font can't already draw the charts, MeshTerm offers the next best thing instead — the charts and marks, without the icons. It ships Cascadia Mono PL, Microsoft's own console font and one of the very few monospace faces that carries braille at all, and will install it just for you: no administrator rights, nothing downloaded. If you already have a font that can draw the charts (Cascadia, or another such as Iosevka), it offers to switch to that one instead. Either way it asks first ([y/N]), and the answer defaults to no.

Preferences → Display → Console setup turns all of this off if you'd rather stay put.

Where MeshTerm keeps its state, and how to point a trial run somewhere else, is in Configuring MeshTerm.