My main hobby project, already presented here multiple times, is a ls style filemanager TUI called lui. I really like working on and with those tui applications.
However, so far I’ve always relied on external deps/libs for the lower level tui parts (alt screen, raw mode, cursor positioning, ansi escape seq, drawing). While I have a basic understanding how this works in general, digging into the libs never was necessary.
But now I decided at least to try to replace the tui lib I’m using for lui with my own handmade code.
Thus, I just started implementing a simple and (later hopefully) clean lib for building tui’s. So far I’ve terminal setup and event handling working. I also managed to set up the very basic printing to the raw terminal using a double buffer so on redraws only changed cells/chars are updated. Just now, I added a basic sectioning concept to render text to bounded areas of the screen.
Its still a long way to go to get this working and therefore the repo is still private. I got inspirations from other great repos like xitui and mibu (with references ofc). AI/LLMs are not and will never be used to write any loc, its all handmade.
I want to keep it simple, i.e. no extended widget system, focus system etc. That should be up to the user. The lib should mainly provide wrapper and workflows for the most low-level/cumbersome tui functionalities (see above).
I’m also still not sure if I get this to a point where anyone (including myself) is able to use this lib for real projects. Anyway, I’m learning a lot either way ![]()








