The Personal Website of Jeremy Boles

GTK

The widget toolkit under most of the Linux desktop.

Napkin has three front-ends over one core: the web app, a terminal version, and a GTK desktop app. All three drive the engine through exactly one function—hand it the current lines, get back the ones whose results changed—so no shell gets a protocol of its own.

GTK is the obvious choice for a Linux desktop app, and it behaves like a native one because it is one.

Owl went the other way, to SDL2, for a reason that has nothing to do with which toolkit is nicer: the appliance draws straight to KMSDRM on a machine with no desktop environment at all. GTK expects a desktop. SDL2 will talk to bare hardware.