Render anything inline. Save sessions and history. Powered by open web standards.

I’m trying it, and it does looks nice.

207 points
*

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…

permalink
report
reply
39 points
*

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.

permalink
report
parent
reply
20 points

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.

permalink
report
parent
reply
13 points

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.

permalink
report
parent
reply
9 points

Have a look at wezterm

permalink
report
parent
reply
4 points

+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.

permalink
report
parent
reply
6 points

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?

permalink
report
parent
reply
3 points

The very few times your programs end up spamming a ton to stdout I guess

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply
3 points

Konsole is my second favorite terminal app. Wezterm may be your holy grail.

permalink
report
parent
reply
2 points
*

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

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
1 point
*

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.

permalink
report
parent
reply
2 points

Give tmux or emacs a try. Or just use Kitty.

permalink
report
parent
reply
22 points

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.

permalink
report
parent
reply
14 points

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.

permalink
report
parent
reply
10 points

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

permalink
report
parent
reply
-1 points

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.

permalink
report
parent
reply
2 points
*

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.

permalink
report
parent
reply
9 points
*

Waiting for the “fRee rAm iS unUseD raM” comment.

permalink
report
parent
reply
13 points

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

permalink
report
parent
reply
10 points

Oh that one pisses me off so much… they act like its the only damn thing i have open.

permalink
report
parent
reply
10 points

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.

permalink
report
parent
reply
2 points

Except it’s not: free ram is where disk cache lives, so the more free ram you have - the faster your system is (kinda)

permalink
report
parent
reply
1 point

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.

permalink
report
parent
reply
7 points

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.”

permalink
report
parent
reply
4 points

This is why I use WezTerm and Guake. iTerm2 is okay on OSX.

permalink
report
parent
reply
71 points

“modern”, when it comes to terminals, usually translates to Javascript / web / electron

permalink
report
reply
7 points

We are used to badly optimized webapps but there’s some that definitely manage to be snappy wothout taking too much ressources

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
2 points
Deleted by creator
permalink
report
parent
reply
-11 points

Kinda yes, sadly. However, at least they offer some reasoning for it like AI integration with the terminal.

permalink
report
parent
reply
35 points

You don’t need to make it an Electron app to have AI integration.

permalink
report
parent
reply
26 points
*

Do you really need “AI”, when a simple autocomplete/LSP plugin does wonders?

Also, you have to be online for that. Uninterrupted electricity and internet is still a privilege.

permalink
report
parent
reply
9 points

And even if you did, why would you need Javascript to integrate that, just integrate it the same way the shell completion does.

permalink
report
parent
reply
1 point

Haha if that would just work

permalink
report
parent
reply
71 points

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.

permalink
report
reply
4 points

It is a cross-platform terminal that supports only bash and only on Linux and MacOS

permalink
report
parent
reply
2 points

So, a browser frontend for bash… Nah, that sales pitch sucks (ram)

permalink
report
parent
reply
23 points
*

Ditch Vim for quick updates.

GAAAAAAAASP

heresy

permalink
report
reply
11 points

Looks like bloat to me

permalink
report
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 9.7K

    Monthly active users

  • 5.8K

    Posts

  • 162K

    Comments