#urwid is really nice for fast hacking neat terminal interfaces. gave it a go, much fun :) you won't feel cursed. #python
https://urwid.org
#urwid does support overriding each LineBox character. So I should be able to plug in the existing config I wrote at least.
Unfortunately it also suffers from width miscalculations when the label contains more complex emoji, especially for ones that aren't rendered properly by the terminal... I guess that'll end up being an issue that will depend on upstream fixes.
All I could perhaps do is offer a way to specify padding/width offsets for certain glyphs or buttons, but that might only work for my own box implementation rather than LineBox.
That feeling when you find out that the function you've been #coding to add some functionality to a library, is actually already sort of implemented (and better?) in the library itself...
I guess I can simplify the box-drawing code for #TUILauncher as #urwid has urwid.LineBox().
(Though I might miss out on the custom box-drawing glyphs (unless that's also implemented already))