Terminal compatibility
The commit graph and GitHub avatars are inline images. The terminal needs to speak one of three image protocols.
Image protocols
Section titled “Image protocols”| Terminal | Kitty | iTerm2 | Sixel | Notes |
|---|---|---|---|---|
| Ghostty | ✅ | , | , | Recommended, what gitoui is developed on, all features tested first here. |
| Kitty | ✅ | , | , | Reference implementation of the protocol. |
| WezTerm | ✅ | ✅ | ✅ | Auto-detects; picks Kitty graphics first. |
| iTerm2 (macOS) | , | ✅ | , | |
| Konsole | ✅ | , | ✅ | Kitty since 22.04, Sixel optional. |
| foot (Wayland) | , | , | ✅ | Sixel native; very fast. |
| xterm | , | , | 🟡 | Needs xterm -ti vt340. |
| Alacritty | , | , | , | No image protocol, graph falls back to Unicode. |
| Terminal.app (macOS) | , | , | , | Same fallback as Alacritty. |
| gnome-terminal / Ptyxis | 🟡 | , | , | Recent VTE (≥ 0.78) supports the Kitty protocol; older VTE falls back. |
| Windows Terminal | , | , | , | Unicode fallback only (as of Windows Terminal 1.x). |
✅ first-class 🟡 config needed , not supported
When in doubt, run gitoui --protocol sixel (or kitty, iterm2) to force a
specific protocol and bypass auto-detect.
Keyboard protocol
Section titled “Keyboard protocol”gitoui pushes the Kitty
keyboard protocol’s DISAMBIGUATE_ESCAPE_CODES
flag at startup. This makes Alt+letter shortcuts arrive as a single
KeyEvent on supporting terminals instead of Esc + letter (which would
otherwise close the active view before the letter arrived).
Terminals that don’t speak the protocol silently ignore the push, Alt-key bindings work where the terminal sends them as proper meta-encoded events (most modern terminals do).
Mouse + clipboard
Section titled “Mouse + clipboard”- Mouse, enabled by default (
ui.common.mouse_enabled = true). Click on rows / tabs / chips to interact. Wheel scrolls. - Clipboard, system clipboard via the
arboardcrate. On Wayland,wl-copyis not required,arboard’swayland-data-controlfeature talks the protocol directly.