Repository navigation
v0.4.0 — readable on a plain text console
Readable on a plain text console
The plain Linux text screen (Ctrl+Alt+F3) is where you end up when the desktop is broken, which is exactly when you want a bootloader manager or a package manager. Until now every Forge app turned into black-on-black there, with broken corners and missing characters. This release makes a promise and keeps it:
Every Forge app is readable and usable on a plain text console (
TERM=linux). It does not have to look the same as in a terminal window.
When an app starts on a text console, forgekit switches by itself:
- Colours by role. Styling asks for a role (
$forge-accent,$forge-muted,$forge-border…), which is Catppuccin in a terminal window and a console colour on a text console, chosen so the roles stay apart. Only the 8 basic colours are used as backgrounds there. - Characters. Every character the console font lacks is swapped for one it has, at the same width so columns stay lined up:
╭→┌,✓→+,—→-,Á→A. The font's character list was read from the font file, not assumed. - Scrollbars in whole cells, no italic, no bold on coloured blocks (the console shows those as colours of their own).
- F1 opens Help in every app (F-10, #2): a text console sends
Ctrl+Has Backspace.
FORGE_ASCII=1 forces console mode on, FORGE_ASCII=0 forces it off. In a terminal window nothing changes: the README screenshots regenerate identical to 0.3.0.
For app authors: use the $forge-* roles in your CSS and markup, glyph("ok") for marks, and read self.forge_console. See the README section On a plain text console.
Tested
- 23 tests, 0 warnings (the repo had none before): detection, the character swap, the colour roles, layout positions identical in both modes, F1, and the demo run as if on a console.
- New tools:
tools/console-preview.pyshows any app as a text console would and fails on undrawable characters or invisible letters;tools/vcsa-shot.pyredraws a real console's screen exactly. - On a real console in a KognogOS virtual machine. That run found F-11 (#3): the console shows underline as cyan and italic as green, which hid the active menu item's letter. Fixed and re-checked.
Closes #1. The apps adopt it as they upgrade: grubForge first, with its v2.0.0.
Assets are signed with 32E1D2AB9380BFD6BFE3BC1EAC2A3407CC070F9E.
🤖 Generated with Claude Code