Live data from Hacker News

Building Rich Terminal Dashboards

willmcgugan.com

91–100 of 123 posts

Re: Building Rich Terminal Dashboards

#91

[Sorry for the spam] If you want to create charts quickly there's also: https://github.com/FedericoCeratto/dashing

Rich author here. It does look great, I like the API design.

Would you consider adding an integration for Rich?

In theory it should be possible to have your charts object also work within a Rich layout, using the Console Protocol.

https://rich.readthedocs.io/en/latest/protocol.html

Re: Building Rich Terminal Dashboards

#92
There's a slick little Haskell library that does something similar called reflex-vty:

https://github.com/reflex-frp/reflex-vty#reflex-vty

One thing neither of these libraries appear to have done yet that I would really like is create a more compact window rendering. Currently each window gets a 1-character border. What I would like is something that saves space by collapsing adjacent windows' borders into a single character instead of having two redundant borders next to each other. Of course I get why they do it the way they do, but terminals are often more constrained for space and with complex UIs you can lose a fair amount due to these unnecessary borders. That would be the next thing I'd hack on to improve these kinds of libraries. But alas...too many fun projects to hack on and not enough hours in the day.

Re: Building Rich Terminal Dashboards

#93
post #9

Is this better than splitting panes up with Tmux or similar? You end up losing the ability to pipe things. What do you gain?

Looks like its powerful because you can have a loop and update metrics you can get via python. I've always wanted to create something like vtop but for network and disk io, this might finally let me do it myself.

Take a look at `glances'. I think it does what you want.

Re: Building Rich Terminal Dashboards

#94

Earlier 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…

One thing, TUIs are MUCH MUCH worse for screen readers than (well made) websites. TUIs (as currently designed) have no structure, so it's very difficult to move around from section to section. A website with headers and auto-wrapping text is much easier to move around and read with a screen reader.

At one point, web designers were making an effort to use semantic markup and create a "semantic web." That sure would have been nice for the screen readers.

Re: Building Rich Terminal Dashboards

#95
post #60
post #36

Just 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…

It’s cool. Occasionally my posts do blow up!

That's Rich, coming from you.

Re: Building Rich Terminal Dashboards

#96
post #59
post #38

Earlier quoted context omitted.

I agree with your claims about the potential advantages of a TUI, but in this case, almost all of these TUIs using Rich will be running as GUI graphics inside a GUI window on top of a GUI OS subsystem, driven by an interpreted Python subsystem, all on an OS juggling many other simultaneous deep-stack processes. In other words, it's a keyboard-driven GUI app making use of the GUI advantages to provide you with your ch…

On Ubuntu, sometimes I like to do Ctrl-Alt-F3 to get into a tty, login, and then do `sudo init 3` to shutdown everything pertaining to the graphical shell. The interaction with the computer is much faster there. After I get bored, I do either `sudo init 7` to be sure, but mostly just Ctrl-Alt-F1, which brings me back to my graphical shell. This method has the advantage that you are always on the same system, not need…

I wish I could do that, but I depend on JIRA + Slack + GitLab (code reviews) to do my work and they force me to use Firefox/Chrome. :(

Re: Building Rich Terminal Dashboards

#97
post #65

Earlier quoted context omitted.

Why does this website write "Un*x" as if it's some kind of swear word?

It's a common way to express "things that are unix-like" and avoiding the pedanticism of what is & isn't an actual UNIX™

I tend to use *nix for things that are UNIX-like. I think of un*x in the older sense from the other parent "it's not actually UNIX and f*ck the trademark" but I'm not sure that dichotomy in my mind is useful anymore.

Re: Building Rich Terminal Dashboards

#98
post #59

Earlier quoted context omitted.

On Ubuntu, sometimes I like to do Ctrl-Alt-F3 to get into a tty, login, and then do `sudo init 3` to shutdown everything pertaining to the graphical shell. The interaction with the computer is much faster there. After I get bored, I do either `sudo init 7` to be sure, but mostly just Ctrl-Alt-F1, which brings me back to my graphical shell. This method has the advantage that you are always on the same system, not need…

I do something similar with a similar toolset – except that I use mutt for email, don’t use it for music and I’ve been experimenting with other browsers such as w3m and (e)links. I do this mostly for the distraction-free experience. My workstation defaults to booting into the equivalent of run-level 3 (no display manager) and when I get tired of being in text mode, I just run `startx` for the graphical interface.

I have wayland (sway) when logging in on tty1, a terminal in the others to achieve something like that without having to use a DM.

Re: Building Rich Terminal Dashboards

#99

Earlier 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…

One thing, TUIs are MUCH MUCH worse for screen readers than (well made) websites. TUIs (as currently designed) have no structure, so it's very difficult to move around from section to section. A website with headers and auto-wrapping text is much easier to move around and read with a screen reader.

On the other hand, emacs works really well with emacsspeak. So it is possible.
Post reply on HN