Author of Rich here. Happy to answer any Rich related questions.
Building Rich Terminal Dashboards
101–110 of 123 posts
Re: Building Rich Terminal Dashboards
#102Just realized that the post author submitted[0] it hours before I did, but it didn't come up in search because it was dead at the time. This is sad because Will writes great posts[1] and great software[2], but somehow his submissions mentioning Rich tend to end up dead. Would it be a case of bad project name for HN titles? [0] https://news.ycombinator.com/item?id=26147831 [1] https://www.willmcgugan.com/blog/tech/ [2…
@dang perhaps worth merging into the original author's post to give them credit?
(Bit of a bee in my bonnet because I never like Title Case In Submissions Even If The Article Itself Uses It anyway, but it's especially unfortunate here.)
Re: Building Rich Terminal Dashboards
#103And there's also Notcurses[0][1], which facilitates the creation of modern TUI programs, making full use of Unicode and 24-bit TrueColor. It presents an API similar to that of Curses, riding atop Terminfo. It's made in C, with C++, Python & Rust wrappers. [0] https://notcurses.com/ [1] https://github.com/dankamongmen/notcurses
A unix command named 'topify' which allows you to create a pipeline of stdio into a top-like, updating, single screen output.
So, let's say you have a command with multiple lines of output - like netstat or certain airport commands - but instead of doing silly things like I do now:
while true ; do airport -s ; sleep 10 ; tput clear ; done
... I could `topify airport -s` and I would just get a nice, single page, constantly refreshing output summary.There are a LOT of commands I wish I could 'topify' from time to time ...
Re: Building Rich Terminal Dashboards
#104Earlier quoted context omitted.
I miss the simplicity and utility of textual UIs. Nothing unneeded, and everything you need. No filler. No giant gaps between elements or wasted pixels. No fads which do silly things like hide scrollbars or other interactive elements. Except for CAD applications and some games, almost everything we do online today could be accomplished via textual UI. Almost the entire internet could be replaced with TUIs and a lot o…
> No giant gaps between elements or wasted pixels. No fads which do silly things like hide scrollbars or other interactive elements I call bullshit on this. Using fixed character cell grid for UI absolutely wastes ton of space. First of all just basic text takes more space in fixed-width than variable width. But the biggest offender is any layout or ui elements that would not need whole cell. Even basic 1px horizonta…
Why do you think it needs to be faster? Do you currently have issues with complexity or latency? Have you measured it? Do you think that replacing the current abstractions with new abstractions will really be a net improvement?
A terminal emulator is pretty much the least non-trivial resource-intensive graphical application I can think of. I've been running Linux on the desktop for over two decades and can't think of a single time I thought the terminal emulator I was using at the time was too slow. (Which is why I don't really understand the need for CPU-accelerated terminal emulators, but that's a different kettle of worms.)
Re: Building Rich Terminal Dashboards
#105And there's also Notcurses[0][1], which facilitates the creation of modern TUI programs, making full use of Unicode and 24-bit TrueColor. It presents an API similar to that of Curses, riding atop Terminfo. It's made in C, with C++, Python & Rust wrappers. [0] https://notcurses.com/ [1] https://github.com/dankamongmen/notcurses
Here's what I think I would like ... A unix command named 'topify' which allows you to create a pipeline of stdio into a top-like, updating, single screen output. So, let's say you have a command with multiple lines of output - like netstat or certain airport commands - but instead of doing silly things like I do now: while true ; do airport -s ; sleep 10 ; tput clear ; done ... I could `topify airport -s` and I woul…
Re: Building Rich Terminal Dashboards
#106Earlier quoted context omitted.
Here's what I think I would like ... A unix command named 'topify' which allows you to create a pipeline of stdio into a top-like, updating, single screen output. So, let's say you have a command with multiple lines of output - like netstat or certain airport commands - but instead of doing silly things like I do now: while true ; do airport -s ; sleep 10 ; tput clear ; done ... I could `topify airport -s` and I woul…
Have you tried watch[0]? Sounds like it might be a decent solution for what you want. [0] https://linux.die.net/man/1/watch
Thank you!
Re: Building Rich Terminal Dashboards
#107Earlier quoted context omitted.
@dang perhaps worth merging into the original author's post to give them credit?
And if a mod does see this, maybe they'll consider also Dispensing With The Title Case - since it reduces the information in the original article title ('Building Rich terminal dashboards') by obscuring that Rich is the name of the Python package behind it, and it doesn't (just) mean adjectivally rich (other than I'm sure that's the reason for the framework's name). (Bit of a bee in my bonnet because I never like Tit…
Re: Building Rich Terminal Dashboards
#108Earlier quoted context omitted.
And if a mod does see this, maybe they'll consider also Dispensing With The Title Case - since it reduces the information in the original article title ('Building Rich terminal dashboards') by obscuring that Rich is the name of the Python package behind it, and it doesn't (just) mean adjectivally rich (other than I'm sure that's the reason for the framework's name). (Bit of a bee in my bonnet because I never like Tit…
I think it was changed to title case by a mod. It might have been automatically changed on submission without me noticing. But I'm sure it was submitted with the proper capitalization you suggest.
Re: Building Rich Terminal Dashboards
#109The future repeats the past. This looks much like the back-end systems I used to design on TurboPascal in the late 1980s / early 1990s. https://ilyabirman.net/meanwhile/pictures/tp-80.png
I miss the simplicity and utility of textual UIs. Nothing unneeded, and everything you need. No filler. No giant gaps between elements or wasted pixels. No fads which do silly things like hide scrollbars or other interactive elements. Except for CAD applications and some games, almost everything we do online today could be accomplished via textual UI. Almost the entire internet could be replaced with TUIs and a lot o…
Re: Building Rich Terminal Dashboards
#110Does anyone know of a similar library for node which does this? I've decided to make my next app TUI first, and then only add in a GUI much later, but I haven't seen anything that looks nearly as good as rich.
There's `blessed` [0], a plain JS lib similar to `ncurses`. There's also `react-blessed` [1], which is a React renderer that targets `blessed` as the display layer, and `ink` [2], which is also a text-based React renderer but using its own display layer. [0] https://github.com/chjj/blessed [1] https://github.com/Yomguithereal/react-blessed [2] https://github.com/vadimdemedes/ink