Full VT100/xterm parsing, the kitty keyboard protocol, and the kitty graphics protocol: transmit, placement, Unicode-placeholder images, zlib decompression, and a=q query support. SGR including underline styles, strikethrough, and reverse video. DECSCUSR cursor styles.
Real ligature shaping through HarfBuzz, with per-row shape-result caching so a static line only gets reshaped once. Closer to Muninn's job than Huginn's: remember what's already been seen instead of thinking it through again. A font-fallback face for glyphs missing from your primary font, so a Nerd Font's gaps don't render as blank tofu boxes.
TCP on 127.0.0.1:<remote_control_port>, a kitty @-compatible-ish command set. Bespoke text-over-TCP, not a literal wire-protocol clone of kitty's own remote control, that was never the goal. A small bridge from the terminal to whatever's driving it, the same job Bifrost does for everyone else.
gungnir's own small answer to kitty's kittens: gungnir runes <name>
icat <path>image display through the same kitty graphics wire format gungnir already parsesclip --copy/--pastean OSC 52 clipboard bridgehints [--pattern]a standalone, pipe-friendly version of the in-terminal hint pickerunicode [--copy]a curated symbol picker, arrows/box-drawing/math/checks, substring-filter-as-you-typeYou need the Odin compiler, plus GLFW, FreeType, and HarfBuzz as system libraries.
# arch sudo pacman -S odin glfw freetype2 harfbuzz # debian/ubuntu: install odin from the official instructions first, then sudo apt install libglfw3-dev libfreetype-dev libharfbuzz-dev # build and run git clone https://github.com/arshnah/gungnir cd gungnir odin build src -out:gungnir ./gungnir
odin test src/term
No GLFW/OpenGL dependency in that package, it's the VT parser and protocol handling in isolation, which is what makes the suite runnable without a display.
Served by a small HTTP/1.1 server written in Odin, straight on top of core:net sockets, no framework. Every connection gets its own thread via core:thread, so one slow client can't stall the rest. One binary, no runtime dependencies.