[HN Gopher] Ask HN: Recommendations for Good TUI Libraries (Text... ___________________________________________________________________ Ask HN: Recommendations for Good TUI Libraries (Text User Interface)? Anyone seen anything exciting/interesting in the field of TUI's? Any language, as long as the library is interesting with good examples or screen shots/videos. For those unfamiliar, a TUI is a text mode user interface library, for building user interfaces within character oriented plain text consoles. Author : andrewstuart Score : 50 points Date : 2020-09-08 20:14 UTC (2 hours ago) | sjakobi wrote: | http://hackage.haskell.org/package/brick is popular in the | Haskell world. | 2mol wrote: | Can confirm that it's awesome for getting something small and | useful done quickly. | | I was a beginner Haskell programmer when I first used brick, | and it's great exposure to building a real world application | (something a lot of Haskell beginners crave learning). Docs are | very good too. | | Code for anyone that might find it useful: | https://github.com/2mol/pboy | | edit: forgot to mention that it's very "Elm architecture", so | if you like modern frontend development, then you might feel | right at home in that paradigm. | allthing wrote: | I'm not really sure any TUI I've ever seen could really be | classified as "good" but the one I like best is probably urwid | (http://urwid.org/). | sixhobbits wrote: | Also take a look at Repl.it's "CLUI"[0] which they released | fairly recently | | [0] https://blog.repl.it/clui | css wrote: | Python includes bindings for curses and includes some pretty good | documentation: | https://docs.python.org/3/howto/curses.html#curses-howto | zephraph wrote: | In the node ecosystem there are a few interesting ones. | | https://github.com/vadimdemedes/ink for writing TUIs with react. | Here's a project I wrote using that: | https://github.com/zephraph/solitaire. It's not as powerful as | ncurses, but it works rather well. | | If you want something more on par with ncurses try | https://github.com/cronvel/terminal-kit | andrewstuart wrote: | https://github.com/cronvel/terminal-kit | | This is the one that most catches my attention. | | Currently actively maintained plus it has something analagous | to a document object model https://github.com/cronvel/terminal- | kit/blob/master/doc/docu... | | Also Ink is incredibly interesting as it enables ReactJS for | creating TUI apps - mind bending! | | https://github.com/vadimdemedes/ink | | I can imagine the things above being combined with a sandbox | plus Fabrice Bellard's QuickJS https://bellard.org/quickjs/ | into a new type of application ..... the "pure text mode | browser". | | A "pure text mode browser" would not be designed to render | ordinary HTML web pages, but would instead be a minimal browser | designed only for text mode. | jamesponddotco wrote: | aerc[1]'s design is the main reason why I use it over mutt, even | though mutt has more features. No idea what they use behind the | scenes for their TUI, but you could take a look at their source | code[2]. | | [1] https://aerc-mail.org/ | | [2] https://git.sr.ht/~sircmpwn/aerc | Shared404 wrote: | It looks like Tcell probably, assuming I've understood what | Tcell does correctly. | | https://github.com/gdamore/tcell/ | andyv wrote: | My favorite is the python-based Urwid library at | http://www.urwid.org. It was a little hard for me to wrap my head | around it at first, but once you get it, you can write TUI | applications without a lot of code. Easy to install, many | examples to work from. | rbanffy wrote: | How popular is it in the Python space? I loved the large text | widget and would love to contribute with a font using the | Teletext 2x3 mosaics that got into Unicode 13 (which are fully | supported in VTE) | aeontech wrote: | python prompt toolkit [0] and click [1] are used to create tools | like pgcli [2], which is utterly wonderful. | | [0]: https://github.com/prompt-toolkit/python-prompt-toolkit | | [1]: https://click.palletsprojects.com/en/7.x/ | | [2]: https://www.pgcli.com/ | aaron-santos wrote: | https://github.com/chjj/blessed is a curses-like library with a | high level terminal interface API for node.js. It also has | impressive demos. | jakobdabo wrote: | notcurses - https://github.com/dankamongmen/notcurses | corysama wrote: | I'd to try out https://github.com/ggerganov/imtui Looks like a | lot of fun. | tabtab wrote: | I've been looking for something similar that either has a markup | language associated with it or is easy to add one to. I wish to | prototype a GUI markup standard with it as a proof of concept so | that we can have GUI-over-HTTP instead of live with the ever | failing & bloated HTML/JS/DOM/CSS GUI emulators. So far, | Terminal.Gui looks interesting, but I don't know if it's cross- | platform yet. | dheera wrote: | I wrote a Python library to draw graphics in a console using | Braille dots, with a fallback mode to ASCII: | | https://github.com/dheera/python-termgraphics | | I used it in ROSshow, which visualizes robot sensor data inside a | terminal: | | https://github.com/dheera/rosshow | rbanffy wrote: | Teletext (also TRS-80) 2x3 mosaics got into Unicode 13. I hope | Kaypro's 2x4 mosaics get into version 14. | kitd wrote: | TView is popular and active in the Golang world | | https://github.com/rivo/tview | nikisweeting wrote: | I like https://github.com/bpython/curtsies by @ballingt. It was | used to implement bpython, one of the best python REPLs imo. | fuball63 wrote: | I like termbox. I'm the Ada binding maintainer. A quick search | and you can find many other language bindings. | https://github.com/bmsauer/termbox-ada | heldergg wrote: | Turbo Vision, this is TUI perfection. | | https://en.wikipedia.org/wiki/Turbo_Vision | ystad wrote: | Ah, I remember this. This is friendly UI | andrewstuart wrote: | This looks pretty impressive: | | Terminal.Gui - Terminal GUI toolkit for .NET | | https://github.com/migueldeicaza/gui.cs | | Written by Miguel de Icaza. | | Hanselman wrote on it here: | | https://www.hanselman.com/blog/Its2020AndItIsTimeForTextMode... | | and here: | | https://www.hanselman.com/blog/DotnetDependsIsAGreatTextMode... | dsissitka wrote: | I'm curious about what other people think about this one. I | tried the demo in a few terminals a couple months ago and it | didn't work well in any of them. | manjana wrote: | You could check out AsciiMatics. | https://github.com/peterbrittain/asciimatics | | Here are some examples how it can look in action: | https://github.com/peterbrittain/asciimatics/wiki | gw wrote: | For nim i like this one: https://github.com/johnnovak/illwill | | It is immediate mode so you render the entire UI every tick, | though it is smart enough to not actually redraw things that | didn't change. | sbeckeriv wrote: | https://github.com/fdehau/tui-rs | | Liked using this. I wrote a TUI for my company's api with it. I | dont use the website much any more. | imhoguy wrote: | Don't know why, but I have imagined a CSS framework for text | only. | | Edit: found one https://github.com/vinibiavatti1/TuiCss ___________________________________________________________________ (page generated 2020-09-08 23:01 UTC)