67
submitted 3 days ago* (last edited 3 days ago) by TheTwelveYearOld@lemmy.world to c/linux@lemmy.ml

I'll start: After switching to Neovide from the terminal for Neovim, I got really hooked on the animated cursor and smooth scrolling (links to Neovide's features page). It wasn't until 2 months ago when the earlier was added to Kitty. I did so much overthinking about which terminal to use, and realized that I wouldn't (and don't) use most of the features provided by ones like iTerm and Kitty, though I picked the later. I was pleasantly surprised to see it added, even if it could use more work to make long smooth cursor animations like Neovide. The only other feature I want is smooth scrolling, I can't believe there are no modern terminals with it.

(Somewhat) Side note: At this point many users realized that Ghostty got over-hyped, here is Mitchell Hashimoto's (dev of Ghostty) thoughts:

https://mitchellh.com/writing/ghostty-1-0-reflection
Ghostty: Reflecting on Reaching 1.0 – Mitchell Hashimoto

I didn't anticipate the hype. Some people think I am lying when I say this. I'm not. I'm not so naive to think that private betas and exclusive access don't generate hype in principle. But I didn't think many people at all would be interested in a terminal emulator. I thought I was building boring software for a niche audience. No hype! But I was wrong, and the consequences were real. People were frustrated that they couldn't get in. People felt left out. People felt like I was being fake to generate hype. The waitlist grew larger than I was comfortable allowing in (given my prior stated priorities). I'm sorry about that. All I can say is that I didn't intend for this to happen. I ramped up beta invites to try to get as many people in as I felt comfortable with (well, a bit beyond that). We ended the beta at around 5,000 users in a Discord of 28,000 at the time. Not quite the percentage of access I wanted for people but more than I could handle.
...

One more negative aspect of the hype is the expectation of Ghostty being revolutionary. It is and it isn't. Ghostty has different goals and tradeoffs than other terminals. For those looking for those properties, Ghostty is a breath of fresh air and does things that no other terminal does. But for others, it's just a terminal. And that's okay. I hope you find a terminal that works for you and I don't claim that Ghostty is the end all be all of terminals.

top 50 comments
sorted by: hot top controversial new old
[-] shirro@aussie.zone 1 points 19 hours ago

I don't want to see the terminal emulator. No chrome. Needs solid emulation. That's about it. Still using kitty and it's got a good balance of stuff I use. I don't really get the point of ghostty. These things are a bit like browsers, they just display the content and are interchangeable. People get super weird about terminal emulators and window managers.

[-] LiveLM@lemmy.zip 15 points 2 days ago

GPU Acceleration and a scroll bar I can drag.
I swear every terminal I've tried has one or the other but never both at once for some reason...

[-] MonkderVierte@lemmy.ml 2 points 2 days ago

I think xfce4-terminal has both?

[-] danielquinn@lemmy.ca 17 points 2 days ago* (last edited 2 days ago)

Hear me out: I want the prompt at the top of the screen.

It's terribly inconvenient to have the place you're typping your command into at the bottom. On laptops, your fingers are in the way, and on desktops, you're always craning your neck looking at the bottom-left.

Imagine instead if your terminal looked like this:

| ---------------------------------------------------------------------------- |
| $ curl https://...
| ---------------------------------------------------------------------------- |
| $ echo "hello"
| hello
| $ ls
| output.png
| goes.txt
| here.webm
| ---------------------------------------------------------------------------- |

After a command is entered in the upper pane, it's appended to the lower pane along with the output just like a normal terminal. Maybe even something like translating Shift+Enter to mean "clear the output pane and run".

[-] jokeyrhyme@lemmy.ml 4 points 1 day ago

Seems like a shell feature, and not a feature that a terminal emulator would implement

[-] gnuhaut@lemmy.ml 1 points 1 day ago

This doesn't seem like something a shell can implement properly. Well, except maybe you could make a shell+tmux hybrid, but that's a terminal emulator running inside of a terminal emulator then (as are tmux and screen).

The problem is that when you run e.g. ls, it prints directly to the terminal. The shell could, once ls finishes, reposition the cursor to the top and then print over the ls output, but that'll just overwrite part of the ls output and ruin the scrollback buffer, which would be annoying.

I think if you really wanted to implement this properly you'd need some sort of new feature (like an overlay layer maybe), implemented by the terminal, and then the shell would have to be patched to make use of that.

[-] MonkderVierte@lemmy.ml 5 points 2 days ago

Ah, you mean, your input/output scrolls down but the prompt stays at the top instead of going down? I can get behind that idea.

[-] danielquinn@lemmy.ca 4 points 2 days ago
[-] aaravchen@lemmy.zip 1 points 1 day ago

That's your prompt's job. Take a look at Starship, which I believe has exactly this feature.

[-] danielquinn@lemmy.ca 1 points 1 day ago* (last edited 1 day ago)

I've used Starship before, and while it's quite powerful for formatting what goes into your prompt, I don't believe there's any feature in there that will fix the prompt to the top of the screen. The best I could find in the docs was a feature to place some text to the right.

[-] mlg@lemmy.world 4 points 2 days ago

Unified system for popping tabs in and out as windows like a browser (mixed support).

Session handler for tying tabs into screen or tmux (you can do this by yourself, but it's only useful sometimes).

[-] communism@lemmy.ml 4 points 2 days ago* (last edited 2 days ago)

I don't want all these fancy schmancy features. I'm very happy with foot in its current form. The only additional feature I would like is ligature support, but otherwise foot already has the features I want in a terminal emulator, and more that are optional for me (e.g. sixel support; although I do use sixels for my lf previewer, it is not necessary for me). I also don't want my terminal emulator to have tiling, because rivertile does that for me, or whatever your window tiler is. Same for tabs. You can use i3 tabs, sway tabs, Hyprland groups, etc instead of having tabs in your terminal emulator.

[-] False@lemmy.world 32 points 3 days ago

I dunno, they pretty much all work the same for me.

load more comments (1 replies)
[-] savvywolf@pawb.social 24 points 3 days ago

I know it's difficult, but I'd like for a terminal to have copy-paste work correctly, even over SSH. Most of my shell config fiddling has been trying to get copy-paste working through tmux+emacs+ssh in a way that doesn't require xsel.

Other than that, one thing I'm missing from Alacritty is tabs. I know I can/should use tmux, but oftentimes I've launched a long-running command and then realized I want to do something else in another terminal.

[-] trevor@lemmy.blahaj.zone 6 points 3 days ago

If you want Alacritty with tabs, COSMIC Term uses libalacritty, so you get the same performance, but with tabs (among other things).

[-] Telorand@reddthat.com 5 points 3 days ago

Given that nearly all of the terminal emulators I've tried had tabs, Alacritty missing tabs was a head scratcher for me.

It seems nice overall, but like you, I sometimes want to run two different commands (or poke around via cd/ls before finishing a command in another tab).

[-] lig@lemmings.world 5 points 3 days ago* (last edited 3 days ago)

The idea of terms like Alacritty or Foot that user uses a tilling WM like Sway that has tabbed mode and tiling already. There is no need in tmux there.

load more comments (1 replies)
[-] marzhall@lemmy.world 22 points 3 days ago

A jupyter-notebook like approach, in which commands and history are kept in previous boxes and show outputs in limited boxes and we stop limiting ourselves to pretending we're still using teletypes but maintain the power pipes bring to unix. Also, all boxes are given filenames in a virtual fs that makes it easy to reference them or their output and treat them like a file, erasing the need to rerun a command to run something on its output because you forgot to save it.

[-] catloaf@lemm.ee 8 points 3 days ago
[-] marzhall@lemmy.world 11 points 3 days ago

You can use bash in jupyter, yep, but I'm one of those nerds who dislikes the idea of using a web app for a shell, and it wouldn't have the virtual filesystem implementation I mentioned. (This is an old thought for me I've just been too lazy to get around to)

[-] MonkderVierte@lemmy.ml 1 points 2 days ago

So you do dislike using a web app for a shell in the end.

[-] marzhall@lemmy.world 4 points 2 days ago

Lol, did you know it's possible to make GUI applications for desktops that don't use a browser as a platform? It's a lost art, but at one time, it was how every application worked. Incredible, really

[-] zaubentrucker@sopuli.xyz 2 points 2 days ago
[-] jokeyrhyme@lemmy.ml 2 points 1 day ago

There's also https://www.waveterm.dev/ which seems to be an open-source attempt at something sort of like Warp/Jupyter

I don't mind that it uses the web stack for rendering, but that'll probably turn some folks off

[-] turbowafflz@lemmy.world 5 points 3 days ago

Interesting, I would absolutely hate using something like that for actual use but it does seem like it could be useful for like demonstrations and documentation

load more comments (1 replies)
[-] JubilantJaguar@lemmy.world 12 points 3 days ago

The only other feature I want is smooth scrolling, I can’t believe there are no modern terminals with it.

Seconded on both counts.

[-] CsXGF8uzUAOh6fqV@lemmy.world 9 points 3 days ago* (last edited 3 days ago)

My terminal doesn't "scroll" at all. Page up and down is all I need. I also don't smooth scroll in my browser usually. Does it add anything? Isn't smooth scrolling just worse actually (just like any other animation ever)?. The sooner the screen stops moving the sooner your eyes can lock on, focus and read. I never payed attention to it but you say it's not widely supported, and that kinda makes sense to me. I can't think of any reason to have it. I do lots of things in the terminal, I don't even have a file manager. Smooth scrolling would make me slower and I would go crazy. Also you could scroll and end up with half a line visible on the top or bottom, which is just kinda weird and wasting space.

[-] patatahooligan@lemmy.world 3 points 2 days ago

The sooner the screen stops moving the sooner your eyes can lock on, focus and read.

On the other hand, if I'm reading through a command's output and searching for something, abrupt movement of the contents make me lose track of where I am and it costs more time to reorient myself than the smooth scrolling animation would take to play out. More importantly (to me), it takes less mental effort as well. It's just a more comfortable experience. Ever since I switched to neovide instead of plain nvim I find myself enjoying long coding sessions much more.

It sounds like you just might not be negatively affected by the abrupt movement as much as some of us are. You might now get why we care about smooth scrolling because it happens to not do anything for you. That's fine and a good implementation would allow the user to toggle it on/off based on their needs.

Also you could scroll and end up with half a line visible on the top or bottom, which is just kinda weird and wasting space.

No, I imagine that's not the way most terminal emulators would implement it. Scrolling would still be done in whole lines, it would just animate smoothly towards the final position rather than jump instantly to it. You would not be able to end up on a half-line or something.

[-] JubilantJaguar@lemmy.world 2 points 3 days ago

Try reading an entire epub book in scroll mode and you'll see the use case.

[-] corsicanguppy@lemmy.ca 3 points 2 days ago

Don't you flip pages in a book?

Is a term emulator an epub reader now?

[-] JubilantJaguar@lemmy.world 1 points 2 days ago

Apart from the the janky scrolling it works great as a reader app, yeah. Zero distractions and fast.

[-] LodeMike@lemmy.today 2 points 2 days ago* (last edited 2 days ago)

~~Gnome terminal?~~

Edit: Oh with a scroll wheel. Weirdly it only works with the bar.

[-] JTskulk@lemmy.world 6 points 2 days ago
[-] TheTwelveYearOld@lemmy.world 10 points 2 days ago
[-] Kusimulkku@lemm.ee 3 points 1 day ago

Terminal-as-a-Service

[-] tetris11@lemmy.ml 14 points 3 days ago* (last edited 3 days ago)

A shell where I can just copy and paste like a normal damn text editor (or using readline bindings).

How is me doing Ctrl+[ in tmux and then arrow keys to get to the line I want to copy, and then Ctrl+Space and then Alt-w, and then q my best bet at this?

I usually just reach for the mouse and do Ctrl+Shift+C instead, but goddamn do I wish I didn't have to.

Also, what the fuck tmux - how is rolling the mouse bound to anything that anyone would want? And why do you inherit the shell you spawned from? Why not spawn as a new shell like everyone expects you to. Asshole utility.

[-] bunitor@lemmy.eco.br 6 points 2 days ago

i wish i didn't need a terminal emulator

in the meantime, emacs is a decent replacement

[-] pmk@lemmy.sdf.org 4 points 2 days ago

It is sort of an anachronism. I'm not saying that we don't need textual interfaces, but emulating a terminal from the 70's is not the only way. Plan9 had textual interfaces without the need for an emulated terminal.

[-] MonkderVierte@lemmy.ml 3 points 2 days ago* (last edited 2 days ago)

Oh, and Oberon, where every text can be a command. Wait, i just read that it influenced Acme of Plan 9.

[-] boredsquirrel@slrpnk.net 8 points 3 days ago* (last edited 2 days ago)
  1. Distrobox, podman container support (listing, entering shell, color)
  2. Never open new windows
  3. Not GTK
  4. Normal name
  5. Not shady or proprietary

Otherwise Konsole, Cosmic-Term or "ptyxis" are both fine

[-] ikidd@lemmy.world 2 points 2 days ago* (last edited 2 days ago)

I'd be happy as a clam in Konsole with a container aware prompt, a non-buggy SSH manager that replicated across machines, and a code snippets sidebar that did the same.

[-] jollyrogue@lemmy.ml 1 points 2 days ago

Distrobox/Podman support would be nice.

There are custom commands, but built in support with a menu would be nice.

[-] oldfart@lemm.ee 2 points 2 days ago

Kate? You mean Konsole?

load more comments (2 replies)
[-] Quackdoc@lemmy.world 5 points 3 days ago

Good touch support. Using termux has more then sold me on it, While many terms to support touch, I do often come across some that don't. Otherwise i'm a simple man, be fast enough, work with one of the "major" image specs like sixel or whatever and do the basics and im set.

[-] corsicanguppy@lemmy.ca 2 points 2 days ago

Mitchell Hashimoto achieved a 1.0 release?!?

There's a clear basis for calling his company MushyCore at my shop. Everything is squishy in the middle!

[-] TheTwelveYearOld@lemmy.world 2 points 2 days ago

I often look things up out of curiosity and looked up ""Hasicorp Mushycorp"" to see if anything would show up. Nothing did.

[-] eldavi@lemmy.ml 3 points 3 days ago* (last edited 3 days ago)

i'd like to see more built in commands along the same vein as bash added features to sh.

i know it's possible to install something through your package manager; add it to your shell config; and simply source your environment; but there's something to be said about installing a single terminal emulator and having everything ready the go.

the closest thing i found to this a commercial terminal emulator named zoc and i don't see a reason why it's not already a foss thing.

[-] MonkderVierte@lemmy.ml 1 points 2 days ago

Honestly, the only thing of Bash i miss sometimes in POSIX sh is arrays.

[-] eldavi@lemmy.ml 2 points 2 days ago

I always find status to be cumbersome in bash; I marvel at anyone who can work w them effectively lol

load more comments
view more: next ›
this post was submitted on 31 Dec 2024
67 points (92.4% liked)

Linux

48823 readers
655 users here now

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

Related Communities

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

founded 5 years ago
MODERATORS