I was excited to learn about two new terminal emulator app which seemed to have a lot of cool new features, warp and wave. Then I looked closer and found that both are a no go for me.

Warp is closed source and you need to create an account to use your terminal. Jebus Christus, no, thanks, but no.

Wave is an Electron app. While that’s better than not having a Linux version, I’ve seen how Electron apps behave. They are the ones which hog all memory and get killed by the OS first. So that’s a no from me too.

I guess I keep my Tilix for now.

      • Took me weeks to figure out a way to run a script at startup in a konsole window that gets hidden but continues running in the background. Tmux could do it but I found it cumbersome.

        screen did the trick with a single command.

    • That is the Luddites argument against progressing anything. There are many problems with current terminal emulators that these newer ones are trying to fix and make the terminal experience better overall. Terminals as they currently work were designed the way they are to talk to dumb typewriters with a screen (that’s right, not keyboards, digital typewriters). And they have barely changed at all since then.

      Personally looking at these terminals they have a lot of niceties that I would love to use. But IMO these benefits are not worth the costs these particular terminals also have. One being closed source and requiring an account and the other being electron - no benefit is worth that. But to bury your head in the sand and claim they have no benefits at all is wrong.

      Begin able to view images in the terminal would be amazing alone - just like you can cat a text file. I would hate to need to launch a GUI program every time I wanted to see what was inside a text file but that is exactly what I need to do for images or PDFs.

      Being able to collapse the output of a command would be nice as well. The number of times I have had to scroll for days to get to the output of a previous command because I happen to run a noisy one but still want to check what something previously had done would save me quite a bit of annoyance. And being able to search just the last commands output would be great - like an after the fact, interactive grep with context. And being able to quickly copy the output of the last command would also be great.

  •  gomp   ( @gomp@lemmy.ml ) 
    link
    fedilink
    25
    edit-2
    7 days ago

    Might I add the idea that your terminal emulator must support your shell is utterly ridiculous?

    https://docs.waveterm.dev/reference/faq#what-shells-does-wave-terminal-support

    https://docs.warp.dev/getting-started/using-warp-with-shells

    Also Wave might be FOSS but if you look at the footer in their website it says it’s backed by venture capital… how would you estimate the chances it gets closed, paywalled or otherwise enshittified?

    • By default, sharing a sudo password between PTY sessions is not allowed by your operating system. This can be a frustration when using Waveterm because every command is treated as a separate PTY session. To get around this, Waveterm will cache your sudo password in local memory (not written to disk) and share it with a session when provided.

      Holy crap, no thanks. That’s legit awful.

    • Might I add the idea that your terminal emulator must support your shell is utterly ridiculous?

      TBH I am starting to come around to the idea of a tightly integrated shell and terminal emulator support. There are just things you cannot do with these being separate things. I am very tempted to explore the idea from the other end though - writing a shell that has a emulator built into it (like screen/tmux basically are). But I do think that this integration is needed for any per command features that is not just printing out a prompt.

      It would be interesting to see what could be done with this type of integration but will likely break support for existing shells. Unless you maybe launch a shell for each command you run or something 🤔. Would like to seem more people experimenting with stuff like this and see what new things we could drive forward. We have been stuck with the current tty system since like the 80s to support devices that just dont exist anymore.

      • Philosophy aside, the practical issue with your terminal emulator having to support your shell is… that one does not use just one shell: what happens whenever you start a repl or an whatever program that has interactive sessions (say, for example, psql or parted)?

        tightly integrated shell and terminal emulator support. There are just things you cannot do with these being separate things.

        I can’t think of any, but I’m not the most creative person… what do you have in mind?

        Having something that is like (say) tmux+fish could make sense, but only if it’s something that outweighs the lost flexibility of being able to combine + .

        • REPLs are basically shells. They behave the same way in every essential way. So the real question is support vs non-supported shells. But then that is easy - non supported shells fall back to just what a normal commands do ATM to process input/output. Other applications like TUIs are also easy to deal with as they already enter a different mode called raw mode - when a application requests that it can do what they currently do - switch to a new buffer and give full control to that one application.

          I can’t think of any, but I’m not the most creative person… what do you have in mind?

          Having smarter scroll back that knows the difference between a prompt/command and the output would let you do quite a few things that would be nice to have. Such as collapsing the output so you can only see the commands, keeping the command at the top of the screen even as other output scrolls off the top so you can always see what was running. Extra support for other UI elements could be nice to have as well - like tooltip support for blocks or similar.

          All the shell - or really any application - needs to do is tell the terminal which bits of the output are witch. Like mark the start/end of the prompt, command and command output. Then the fallback is basically ignore the markers and print things out like it currently does.

          And those are just random thoughts I have had over the last few days. These can be implemented in backwards compatible ways I believe and don’t need special support for specific shells - just needs to expand the VT100 protocols to be able to send more information between the terminal and shells/applications that are running. Much like how color, cursor positioning, entering/exiting raw mode etc are already done. Though I think some tight specialized integration might be a good start to explore these ideas before the protocols are formed.

  • I tried warp but it was actually laggy and slow. Also I don’t like the account idea, but I was willing to let it slide if they built a much better terminal than what we have.

    They didn’t.

  • Have you tried kitty? It’s seriously nice if you can live with the occasional “oh no I sshed to a server that doesn’t have the correct terminfo files and now none of the normal terminal navigation features work”

  • I think Hyper was another Electron based terminal. And talking of terminal and Linux, there exists an electron based file manager for Linux as well. I wonder who exactly their target audience for that is though.