About this project
texttv is a small, fast, and highly configurable command-line and interactive viewer for SVT Text-TV, Swedish Television's public-service teletext. Written entirely in Rust, it runs on most platforms (macOS, Windows, Linux) and in most terminal emulators (iTerm2, Ghostty, Terminal.app, Windows Terminal, GNOME Terminal, Konsole, Foot, Terminator, Kitty, WezTerm, Alacritty, Tabby, and others).
The app offers two modes: interactive mode, where you can browse pages using number input, arrow keys, and Enter to select links, and single-page view, where you can output a specific page (e.g., `texttv 360`) directly to the terminal.
Rendering is flexible with two main paths: teletext mode reconstructs the original 40-column page as real terminal text with ANSI colors, bold double-height headings (rendered at normal height due to inconsistent terminal support), and Unicode sextants for mosaic block characters. Image mode uses the original page GIF from SVT, providing pixel-perfect rendering in terminals with native graphics protocols (Kitty, Ghostty, WezTerm, iTerm2), with a half-block fallback for others. You can force a mode with `--mode` (teletext, auto, kitty, iterm, blocks) and adjust image size with `--size` (tiny, small, medium, large, xl, full).
Additional features include auto-degradation when output is piped (ANSI escapes stripped, image mode replaced by teletext), a config file at `$XDG_CONFIG_HOME/texttv/config.yaml` for persistent preferences, and support for multiple data sources: the community-run `api.texttv.nu` JSON proxy (which preserves color attributes needed for teletext mode) and the official SVT pages for image mode. Mosaic patterns are cached locally to avoid repeated fetches.
Interactive mode includes a page input field, link detection (three-digit page references with support for multi-page suffixes and ranges), subpage navigation for multi-page pages, and keyboard shortcuts. It requires a terminal of at least 41 columns by 26 rows.
The project is independent and not affiliated with SVT or texttv.nu, and users are asked to respect upstream terms of service. It is licensed under MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.