No description
  • Zig 96.8%
  • Shell 2.2%
  • Python 1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-26 19:52:07 -04:00
bench add benchmark suite and foot/ghostty comparison harness 2026-04-17 13:15:49 -04:00
src terminfo: warn in the window when the ado entry is missing, and a README — without the entry programs fall back to a dumb terminal, so less warns "terminal is not fully functional" and leaves the screen in a bad state; ado now searches where ncurses does ($TERMINFO, ~/.terminfo, $TERMINFO_DIRS, the system directories) and prints the tic command before the shell starts. The README covers building, installing the entry (with --prefix ~/.local it lands where ncurses never looks) and configuration. 2026-09-26 19:52:07 -04:00
terminfo add ado terminfo, font fallback, da clipboard flag, sextants, csd 2026-04-21 21:02:48 -04:00
.gitignore adapt to zig master: dupeZ -> dupeSentinel, meta.Int -> @Int, llvm/lld toggle 2026-05-12 21:12:11 -04:00
build.zig add -Dstrip in build.zig 2026-09-01 19:51:46 -04:00
build.zig.zon add GPLv3 LICENSE 2026-09-26 19:52:07 -04:00
LICENSE add GPLv3 LICENSE 2026-09-26 19:52:07 -04:00
README.md terminfo: warn in the window when the ado entry is missing, and a README — without the entry programs fall back to a dumb terminal, so less warns "terminal is not fully functional" and leaves the screen in a bad state; ado now searches where ncurses does ($TERMINFO, ~/.terminfo, $TERMINFO_DIRS, the system directories) and prints the tic command before the shell starts. The README covers building, installing the entry (with --prefix ~/.local it lands where ncurses never looks) and configuration. 2026-09-26 19:52:07 -04:00

ado

ado is a terminal emulator for Wayland, written in Zig.

Building

Dependencies:

  • zig master, see minimum_zig_version in build.zig.zon
  • pkg-config
  • wayland, xkbcommon and fcft
  • tic from ncurses, for the terminfo entry

Then install ado and its terminfo entry, for example:

zig build -Doptimize=ReleaseFast --prefix ~/.local install
tic -x -e ado,ado-direct -o ~/.terminfo terminfo/ado.info

Terminfo

ado sets TERM=ado, so its terminfo entry must be installed on every machine you run it on. Without it, programs fall back to a dumb terminal: less warns "terminal is not fully functional" and leaves the screen in a bad state, and full-screen programs misbehave. ado checks for the entry when it starts and prints a warning in the window if it is missing.

For your user only:

tic -x -e ado,ado-direct -o ~/.terminfo terminfo/ado.info

System-wide, as root:

zig build install-terminfo --prefix /usr

ncurses only looks in ~/.terminfo and /usr/share/terminfo by default, so installing it with --prefix ~/.local puts it where nothing finds it.

Hosts you ssh into need the entry too. To copy it over:

infocmp -x ado | ssh host 'tic -x -o ~/.terminfo -'

Configuration

ado reads ~/.config/ado/ado.ini, or the file given with -c. For example:

[main]
font=monospace:size=12
font-fallback=Noto Color Emoji
blink-cursor = no

[colors]
alpha=0.9

ado --help lists the command-line options.