Been hard at work on a new rendering engine for Wave Terminal (https://github.com/wavetermdev/waveterm). Coded up a quick proof of concept for 4th of July showing fireworks rendering in the terminal, triggered by a CLI command. New version is not live yet, but hoping to go into beta soon :)
Interesting take! By implementing our UI in React, we're hoping to make it significantly easier and more accessible to write cross-platform terminal extensions (and renderers / apps for different types of content). One of the interesting directions we're looking at is providing native web-based UI for terminal programs. Like a TUI library that renders to actual UI :)
Hah, 100% not a paid promotion, although it is kinda awesome that you think it is! We were thrilled with the coverage (our first article!) after we soft launched on /r/opensource.
Hah, we did not come up with the headline :). Really the vision for Wave is to have an out-of-the-box excellent terminal experience that's consistent across all of the machines that you log into. We also bring cool new features to the terminal like command blocks, output renderers, persistent sessions, and universal history (across all of your sessions, local and remote).
Wave is a terminal, so you're free to use any editor you'd like, including vim, emacs or ed. We just provide another option for users who don't find vim or emacs very intuitive. I've used emacs to code for over 25 years and have no problem using the CLI or text editors (and it seems like neither do you), but there is a learning curve to teaching intro CS students or semi-technical folks how to use vim on the CLI ("type escape colon w q enter to save")
Wave uses electron for rendering, but a Golang backend for networking and heavy lifting. This gives Wave the ability to be cross platform and still efficient under the hood.
yes! would love to do this. the biggest issue is security and how to sandbox that html from the rest of the terminal. we have some ideas on how to do this (iframes, postMessage, etc.) that i think could work.
agree in principle, but i will split some hairs here. if you type "ls" into your local terminal, there's an implicit agreement that it will run the remote "ls" program. the helper program facilitates that in the same way that any other terminal + ssh + shell combo does. it only runs commands in response to your activities in the terminal.
the helper program is completely open source (waveshell) it is similar to the shell scripts or additions to your rc files that other modern terminals might add when connecting to a remote machine to support advanced features. the helper does not need any additional permissions, does not open any ports, runs only for the duration of the connection, and communicates exclusively via stdout/stdin over your standard ssh connection.
i think the terminal can be much better than it is today. i quit my job and started working on this full time after making the prototype because i was convinced that universal history, inline rendering, and persistent sessions just needed to happen. that being said, building a new terminal is hard and requires direction and a full-time team. these things are expensive and venture money will help us bring this idea to life quickly.
i also want to point out that the main competitor in this space is also venture backed and is closed source. we need the money to keep up (with help from the OSS community) and make sure there is a great open alternative in the market.
i'd love to figure out what is causing this as we haven't been able to repro it. if you don't mind adding a comment to the issue with anything novel or interesting in your .bashrc / .bash_profile or your machine setup it would be much appreciated.
zsh support and international character support are our top two issues right now. I know the intl chars can work, we just didn't do enough international testing before launch. sorry to hear that it didn't work out of the box for you (the big profile files are also on our radar).
Would love to get any suggestions for what people would like to see rendered inline in the terminal. Things like graphs, audio/video streams, filesystem view (that supports drag&drop from your local machine), graphviz, pdfs. Maybe a graphical way to view a JIRA or Github issue and add a comment? Visual diff? Let me know what you think?
I used Discord for Wave because it is real-time, free, and has a lot of community and auto-moderation facilities built in. It also seems to scale well to large communities. Because you asked, I think it is fair game to share our discord link here: https://discord.gg/XfvZ334gwU
I hear you. That is a problem with a lot of (bad) UIs and why I think people love text-UI (because it is harder to screw up). First, I don't want to get rid of the text UI -- you can always render your commands using the traditional terminal interface. We just want to provide an option to display the output in a richer way. I think Github does a good job of this. You can view a file with line numbers and annotations on the side, but copy/paste won't grab that content because of how the HTML is structured. We hope be similarly attentive to things like that (but of course it is still a WIP).