Render anything inline. Save sessions and history. Powered by open web standards.
I’m trying it, and it does looks nice.
Powered by open web standards
That’s the state of computing in 2023: a browser disguised as a native app running 15 layers of Javascript is used as a friggin terminal. And nobody bats an eyelids, as if the utter insanity of it made any sense.
And the installer is 117M compressed. That’s MEGABYTES… For a terminal!
The mind boggles…
I’ve been using Alacritty for the last 4 years, it’s kinda the opposite of this nonsense. It’s written in Rust, it’s super light weight, highly optimised, and uses hardware acceleration to render the terminal. It’s top of the chart for every terminal performance benchmark conceived.
However, that lightness and fastness comes at a cost. There are some basic features they just won’t add because they’re outside the scope of the project. Eg, tabs (“just use a tiling wm and do your own tabs in the wm”) or a scrollbar (“just use a shell with a scrolling screen buffer like Tmux”), or different coloured backgrounds for each opened window (“why would anyone ever want to do that?”).
My holy grail terminal would be something like Alacritty, written in Rust, blisteringly fast and light weight, but with tabs, scrollbar, bookmarks, etc.
I find myself falling back to using Konsole a lot these days, it’s got all the features I want, is fast enough, and already installed on every system I use Plasma on.
Me too. I just ran time tree across my home directory a few times. Native console (ie C-A-F3) - 54 seconds, Konsole - eight seconds.
Waveterm is still installing (Arch AUR). The fan has a Gentooesque sound to it as a suspiciously complicated thing gets built. Oh God … electon … terminal shaking … golang … fans whining … lap melting … the Old Ones are stirring.
The deps for this thing are many. " I watched Firefox builds on Gentoo glitter in the dark near the Tannhäuser Gate". OK, its now arrived and my laptop case is making ping noises as it cools.
It takes 10 seconds or so to start up. Look pretty. Accept license agreement (wtf). Now what? Hmm lets try typing in that box. OK. time tree. Go back to Lemmy to type the last two paras of this comment, get bored and uninstall waveterm.
You nailed it. Too bloated (300 MB, wtf), too slow, incompatible with zsh and fish, no tiling, too few keyboard shortcuts, and way, WAY too much wasted screen space.
Back to my sweet, sweet Konsole.
I’ve been a KDE lover since 2.0 or so. I recall compiling it from a tarball for a laugh and it mostly working, which was quite a surprise. I think I had Slackware installed at the time on my desktop and KDE 1.x on it.
Anyway, 23 or so years later … I’m looking forward to 6. Things have changed a bit 8)
♥️ KDE default apps ♥️
Dolphin, Konsole, Okular, Skanpage are so nice and I wouldn’t be able to live without them. They feel so polished and solid, and somehow manage to have all the features I want without feeling cluttered
Haha Dolphin and solid. Currently having some memory issues due to kde connect, yayy gdb backtraces for all!
Try this rawhide Fedora Kinoite image! I am so close to just switching as it just works?
Ooh, don’t mind if I do. Luckily I happen to have a tame VMware cluster and rather a lot of laptops (“mwaaa, mwaaa, won’t run Windows 11”) to play with.
One of my employees has actually expressed an interest in Linux as a daily driver, which has only taken 23 years. I’m looking for my corp standard distro and I don’t think Gentoo or Arch are going to do the job. I’m leaning towards Fedora at the moment but there’s no rush, I only get one chance to bring the kids into the light, despite being the MD 8)
If it should be corporation stuff with central accounts and all I think GNOME is really good. Fedora GNOME could for sure be an option and I would recommend Silverblue from ublue.it in that case, as it has all the drivers and codecs
Have a look at wezterm
+1 on this, I switched to Wezterm on my windows work machine to get most of the features missing from alacrity without having to go through the hoops to get a tmux like experience on windows.
I used to do Windows -> Alacrity -> WSL2 -> Tmux then launch my Windows powershell core session inside that terminal.
I never understand the whole thing around “fast” terminals. How can a terminal be “slow”? Surely the terminal you’re using has no effect on the programs you’re calling, so what’s being measured here?
I get what you mean, it is an interesting question to explore.
For me, it think it appeals to my obsessive engineer-brain, I am hooked on chasing efficiency.
Eg, if one tool uses 10MB ram and takes 1second to complete a task, and another tool takes 50MB ram and 5 seconds to complete the same task, then clearly I want to use the more efficient one. The other must be wasting resources, right?
When it comes to real life software and real tasks, it is a lot more complicated than that, there are hundreds of variables to take into account and compare. But if one tool stands out among the others, optimising to achieve the best number (fastest time, lowest power draw, lowest ram use, etc) in each comparable variable, then I absolutely must use that one, it would be irresponsible not to, right?
Throw hardware acceleration into the mix, and it takes the situation to a new level. Why make my poor CPU render the text on the screen 60 times per second, when I can get the GPU to do it? It’s just sitting there doing nothing, and it’s better at the job anyway, and as a bonus you get even lower CPU utilisation and lower ram usage.
However, as I described in my previous post, chasing these numbers can come at the cost of usability. That’s the case with Alacritty, and why I will be switching to wezterm.
The very few times your programs end up spamming a ton to stdout I guess
Konsole is my second favorite terminal app. Wezterm may be your holy grail.
Wow, just had a look at the Wezterm GitHub page, read the features and the docs. I think you’re right, it does look like it will replace Alacritty for me.
For anyone else wondering about the differences between Alacritty and wezterm, or still on the fence, read this thread, particularly the comment from wez: https://github.com/wez/wezterm/discussions/1769
Give tmux or emacs a try. Or just use Kitty.
I am using Konsole currently, as it works best in KDE. Should I switch to Alacritty? I like to have one window and the rest in tabs, its pretty great. I guess alacritty doesnt have that right? What all does fit in the config? Konsole has tabs with special descriptors using path, host, program etc. You can change the color scheme, its pretty nice.
If you’re happy with your tools just keep using them.
I like using kitty personally. I mostly chose it because of the cute name but it does everything I need.
I swear. I quit using iTerm and moved to Kitty because it was too inefficient and was eating up my battery on the go. There are so many apps that are just diguised browsers that eat too much memory and processing power and they make needing a powerful machine a requirement if you want to have multiple apps open. It’s getting to a ridiculous point and it’s inconvenient.
I don’t understand why desktop JS apps don’t use React Native at least. It’s still JavaScript but doesn’t use a browser, and renders to native UI widgets. Far lighter than Electron.
Well with react native you still have to deal with the native problem which a developer doesn’t want to deal with, you know… You could… But if they really cared about making the app efficient and well they would have had a different decision making process… People nowadays don’t really just the right tool for the job, they just have a tool and try to turn it in a universal hammer and solve everything with it
The disadvantage with React Native is that you still have to maintain a UI for each platform because it maps to native widgets while a web UI works the same on every platform.
Business/application logic can be 80-90% of an app’s code, and all of it can be reused across platforms. The actual UI rendering is just a small part of it.
In the UI code, some of it does have to differ across platforms but it’s mostly the lower level components like buttons, text fields, etc. Some product UI code built on top of those abstractions can be reused across platforms.
Sure, but it’s still more work than a web UI, and using a web UI is a lot more flexible. For example, say you want to render a chart or some other visualization. It’s trivial to do with a web UI, but can be a tricky problem with native widgets, especially if you want to keep the UX consistent across platforms. I agree that using React Native can work fine in a lot of cases, but I can also understand the appeal of using the web UI stack. Another aspect is likely familiarity, people use the tools they know, and if somebody is already comfortable with a particular ecosystem they’re likely to leverage it.
deleted by creator
But wasted ram is still wasted, unlike if the ram was actually used for caching or actually speeding things up, not bootstrapping a freaking browser
Oh that one pisses me off so much… they act like its the only damn thing i have open.
Exactly, your program using the minimum of RAM allows more for other programs to run and gives more memory for the OS to cache literally anything that isnt their web app, likely the filesystem, and that is a much better use of the RAM then letting electron or some such eat it all.
Except it’s not: free ram is where disk cache lives, so the more free ram you have - the faster your system is (kinda)
I mean, at least for Linux, I was under the impression that the disk cache only stores programs that have already been loaded once, since there’s not much point loading something from disk to cache if you never actually load it later.
Yap, that’s my understanding too
The only stupid part is bundling a whole browser for a webpage. HTML5 as an executable format is fantastic - all the bullshit Java promised, except people actually use it. But for some godforsaken reason, everybody ships a platform-specific… portable OS… with every single program.
Electron and whatnot have turned “Java but good” into “Docker but awful.”
This is why I use WezTerm and Guake. iTerm2 is okay on OSX.
“modern”, when it comes to terminals, usually translates to Javascript / web / electron
We are used to badly optimized webapps but there’s some that definitely manage to be snappy wothout taking too much ressources
Not that I dont dislike electron anyway, but I’d hazard a guess that most of the jank we see in electron apps is more to do with javascript and overengineered web UI frameworks than the browser runtime. If it runs like shit in a browser then it wont be much better ported to electron.
deleted by creator
Kinda yes, sadly. However, at least they offer some reasoning for it like AI integration with the terminal.
You don’t need to make it an Electron app to have AI integration.
deleted by creator
And even if you did, why would you need Javascript to integrate that, just integrate it the same way the shell completion does.
Haha if that would just work
From their FAQ:
Q: What shells does Wave Terminal support?
A: We currently only support bash. […]Seems at least dishonest to advertise it as a “terminal” if it works only with a specific shell. It’s okay to have extra features enabled by escape codes emitted by the shell, but if it goes beyond that, I’d say it’s not just a terminal anymore.
It is a cross-platform terminal that supports only bash and only on Linux and MacOS
So, a browser frontend for bash… Nah, that sales pitch sucks (ram)
Ditch Vim for quick updates.
GAAAAAAAASP
heresy
Looks like bloat to me
I’m unsure that I would find this useful. While I might want a good solution to view web content on the terminal (with a modern, w3c standards rendering engine) so that I can do less outside of the terminal, I don’t think I see the utility of using web tech to power my zsh and vim usage. I am enjoying my balance of utility and perf with kitty.
I hope you have a good experience and share your findings.
I will absolutely not use an electron terminal.
Looks like Electron. Oh boy…
I’ve been looking for a terminal with better bookmark support; I use mRemoteNG on windows for my RDP/SSH work, and I haven’t been happy with any alternative on Linux that handles session bookmarks like that. I’m curious to try this.
the hell are terminal bookmarks?
I manage a lot of systems, so just click to open a ssh session in a new tab. I usually have shell aliases, but a bookmark that could set the title of the tab to the hostname and account for easier nav would be my goal. Being able to dynamically open tab groups too would be good, like if I have a dev/prod/SQL server for an app I could 1-click to open a group of 3 tabs
Well, there’s this if you want to use it in Linux, I’ve used it before, liked it well enough, but not paying for it so I removed it (It’s sort of crippled if run free). I personally use Konsole on KDE which works quite well. I’ve read and think that Konsole also allows multiple bookmarked connections. I haven’t really tested it myself, I have roughly 10 machines I log into daily so I may try that further.
Before I made the leap to Linux years ago, I loved using MRemoteNG. Simply hands down the best. IMHO
I tesed the client posted here by the OP. While it looks pretty nice, it suffers the same thing as others I’ve tried. Nothing beats the simplicity of the plain 'ol shell in Linux or in OSX. :)
Windows Terminal has profiles that you can configure a lot so you can have SSH profiles too, don’t know if that fits your use case exactly though
I just finished my perfect st build after switching from kitty. So I’m not really interested in getting something even more bloated then what I used to use.
At least they aren’t going for the new user friendly marketing they were a few weeks back, as they have nothing that would of helped me as a new user a few years ago
Interesting concept, I like the design, but the workflow is rather odd and would take some getting used to. Also, things like the UI need some work on scrolling, like the Sudo connect window scrolling the password out of sight if you fail the password entry.
I’m looking for a terminal like warp that’s Linux compatible and this initially looked promising but the comments on how bloated it is is discouraging.
Too fat and unnecessary. Just use the regular bash shell that comes with your distro.
Bash isn’t a terminal. It’s a shell. You can run Bash within XTerm, Gnome Terminal, Konsole, or even Windows Terminal.
Looks interesting, I will look into it. On first look it seems useful
Is there a competitor or is that the first of its kind?
Closest I can think of is Warp, although right now it’s still closed source and Mac only. If there are others I’ve missed I’d love to learn more!
Yeah, deal breaker :D I’m not interested in mac software
They do have Linux and Windows versions coming and claim they’re going to gradually open source it so there’s that, but yeah, doesn’t exactly inspire that much confidence lol
Warp has discoverability features that would actually convince me of using a “modern” terminal - like instant tooltips with documentation.
That said, call it trust issues, but I’ll never use a closed source terminal.
I’d like to see more user-friendly features like this that are terminal-agnostic. Manually checking manpages is so slow and fickle. Having the equivalent of an intellisense for the command line would be awesome.
there is Inshellisense
I tried it for a few minutes, but every time I hit ctrl+c it stops showing tooltips. Looks good though
Yup, I feel you. It’s something I’ve always wanted myself, and I find myself hoping the OSS alternatives eventually implement something similar. For now I just make do with things like tealdeer and whatnot.
Edit: Just stumbled upon navi, the interactivity looks a lot closer to what we want than tldr and friends at least
I think Tabby is a similar project, but personally I spin up and throw out terminals very liberally. Tabby had a horrendous launch time, something more than a second which constantly bothered me while trying to work. I’d love to see how quick this is though!
+1 on tabby. Another nice feature tabby has is sync of secrets and settings. It is not very resource efficient, but it’s still nice.