I’ve been working on gotui, a modern fork of the unmaintained termui, rebuilt on top of tcell for TrueColor, mouse support, and proper resize handling. It keeps the simple termui-style API, but adds a bunch of new widgets (charts, gauges, world map, etc.), nicer visuals (collapsed borders, rounded corners), and input components for building real dashboards and tools. Under the hood the renderer’s been reworked for much better performance, and I’d love feedback on what’s missing for you to use it in production.
I second that, even better would be if every type chart would be a folder, with a readme containing a screenshot and the code example. That would be top notch.
This project has made me think about more about the difference between TUI's and "command-line" (CLI) apps as categories. Traditionally CLIs were kind of run-and-exit tools, and "real" TUIs were long-running, stateful apps, but what we're creating seems to sit somewhere in between the to.
With richer terminals and libraries like this, the distinction feels more about interaction style than environment. Curious how others think about that boundary when designing tools that work in terminals.
Not every one, but if it looks like something I might use, I do take a quick look at it and any upstream it came from. It keeps me from using something when I shouldn't and have to rip it out later.
reply