180
top 50 comments
sorted by: hot top controversial new old
[-] QuazarOmega@lemy.lol 90 points 7 months ago

Cool project and... no screenshots? 😭
Every. Damn. Time.

[-] prole 4 points 7 months ago
[-] Atemu@lemmy.ml 3 points 7 months ago* (last edited 7 months ago)

I mean, it's a terminal emulator; what's it supposed to show, a bunch of white text on black background?

[-] QuazarOmega@lemy.lol 6 points 7 months ago

It supposedly supports fancy features, so I'm curious to see how those look, they also say it's got top of the line speed, so maybe a screencast with side by side of reference terminal emulator (xterm?) and ghostty displaying heavy throughput output to see the smoothness goodness

[-] Atemu@lemmy.ml 3 points 7 months ago

A screencast cannot really capture that. Practically any terminal is fast enough to render a shitton of text quickly and "smoothly".

The difference in speed can only really be felt.

W.r.t. UI, it looks exactly like you'd expect a GTK4/adwaita terminal emulator to look.

load more comments (4 replies)
[-] GuyDudeman@lemmy.world 36 points 7 months ago

What are the differences between all of these terminals?

[-] muhyb@programming.dev 37 points 7 months ago

If you're occasionally using them, there aren't any.

If you're excessively using them, there are many.

[-] Sturgist@lemmy.ca 11 points 7 months ago

Could you highlight a couple, I'm kinda in between with my terminal usage....

[-] muhyb@programming.dev 30 points 7 months ago

Sure, I can do that.

  • If you're looking for something lightweight, go for st or urxvt. These are Xorg-only.
  • If you want to configure it via GUI, xfce4-terminal is the middle ground for lightweight and feature-rich. If you are on KDE, konsole would suffice. You can use these on Xorg and Wayland.
  • If you want to work with multiple panes in a single window, terminator is your friend. Used this on Xorg but not sure about its Wayland compatibility.
  • If you want GPU acceleration and more features, kitty and alacritty is out there. Both should work on Xorg and Wayland.
  • If you want something like st but pure Wayland, foot is the best lightweight terminal emulator. My current personal favourite.
[-] Sturgist@lemmy.ca 12 points 7 months ago

Fucking legend!

Pretty sure I'm using konsole right now, whatever it is, it came pre-installed on my distro.
Might check out foot and kitty, what I'm using is working right now, but always nice to look into different options.

[-] muhyb@programming.dev 2 points 7 months ago

Yeah, it's one of the greatest characteristics of FOSS. We have many options and endless posibilities.

Glad to help.

[-] kusivittula@sopuli.xyz 3 points 7 months ago

ikr, i try to stay away from the stock one too

[-] atzanteol@sh.itjust.works 33 points 7 months ago

It's ridiculous how much time people are spending performance optimizing terminals.

xterm on a 120MHz Pentium on X11 in the 90s performed "fine".

[-] addie@feddit.uk 42 points 7 months ago

Assuming you had a pretty decent monitor and graphics output in the 90s, it may have been 800x600, but more likely 640x480, and you'd have been using the standard issue bitmap font with no anti-aliasing, blitted to screen using software rendering. Probably in a single colour, too.

Alas, the problem with that is that it doesn't scale. On xterm a 4K monitor, I can watch Vim redrawing the screen, paging through logs is painful. Use Kitty for the same, it's instant, I can flip through tabs and split screens too, and have niceties like anti-aliased fonts and transparency if I want them.

Some people spend a lot of time in the terminal, so I can't fault them for taking the time to make a nice working environment and sharing that work with others.

[-] atzanteol@sh.itjust.works 7 points 7 months ago

"decent" hardware back then ran at 1024x768. I never ran less. And definitely multiple colors. But sure - no anti-aliasing and other features. But also on hardware several orders of magnitude slower.

Though granted I don't have a 4k monitor so maybe there are issues with that...

Some people spend a lot of time in the terminal, so I can’t fault them for taking the time to make a nice working environment and sharing that work with others.

I mean - it's the first thing I open... Which is why I'm surprised others seem to have "performance issues" since I've never seen any.

[-] geneva_convenience@lemmy.ml 4 points 7 months ago

Every Linux user has the earliest and lowest specced version of the 4k Lenovo thinkpad from back when 4k on a laptop was impractical and a stupid idea.

[-] PetteriPano@lemmy.world 3 points 7 months ago

Sure, it performed "fine".

But it was sluggish compared to the VGA ttys we were used to.

Now, if we can have something as snappy and at the same time as pretty as Eterm.. 👌

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

The "Abandon all hope, ye who enter here" terminal?

Edit: that was once a comment in the sourcecode.

[-] atzanteol@sh.itjust.works 3 points 7 months ago

Hah! It's funny I just fired it up again for the first time and I do see a bit of flicker in xterm when paging full-screened in vim... So maybe there is something to performance optimizing terminals. :-)

load more comments (1 replies)
[-] boredsquirrel@slrpnk.net 14 points 7 months ago* (last edited 7 months ago)

Looked at it, interesting, no package, installed cosmic-term instead

Uses alacritty under the hood, with tabs and tiles!

[-] MonkderVierte@lemmy.ml 13 points 7 months ago

Looking at ghostty-git in AUR, zig is built on haskell? With 221 haskell libraries.

And what does it need pandoc-cli and hslua-cli for?

[-] Crazazy@feddit.nl 6 points 7 months ago* (last edited 7 months ago)

Checked the build.zig file for ghostty, seems to be for manpage generation. Zig itself doesn't use Haskell though

[-] MonkderVierte@lemmy.ml 4 points 7 months ago* (last edited 7 months ago)
[-] Atemu@lemmy.ml 3 points 7 months ago
[-] MonkderVierte@lemmy.ml 4 points 7 months ago

But i use pandoc-bin, because i was annoyed by dozens of haskell lib updates each update run...

load more comments (1 replies)
[-] vhstape@lemmy.sdf.org 12 points 7 months ago

It’s awesome to see a project written with Zig!

[-] Telorand@reddthat.com 7 points 7 months ago

They know what they doin. Take off every zig.

[-] perishthethought@lemm.ee 4 points 7 months ago

And now that song is back in my head. Thanks man :|

[-] taiidan@slrpnk.net 11 points 7 months ago

Thought out choice but disappointing nevertheless:

My stance for now is that Ghostty will not support sixels.

[-] MashedTech@lemmy.world 4 points 7 months ago

What do you think about the Kitty Graphics Protocol?

[-] taiidan@slrpnk.net 2 points 7 months ago

I like Kitty Graphics. I like graphics in the terminal for two reasons:

  1. integration with MC (midnight commander) style directory browser to show previews of jpegs, pdfs, etc.
  2. w3m web browser. I like being able to use that super-light weight webrowser when working/coding to keep me focused.

Reason (1.) works with Kitty. (2.) does not. (2.) is pretty esoteric so I think sixel will probably die out soon due to the user base?

[-] brax@sh.itjust.works 2 points 7 months ago

I get that Sixel is old AF but is there a new standard or is it just an open sea of fragmentation where everybody picks some branched attempt at doing the same thing and rolls with it instead?

load more comments (1 replies)
[-] trevor 10 points 7 months ago* (last edited 7 months ago)

For those that are, for some reason, incredulous of having more performant software (???), here's a simple program to demonstrate the point:

use std::{
    fs::File,
    io::{BufWriter, Write},
};

fn main() {
    let buf = File::create("/dev/stdout").unwrap();
    let mut w = BufWriter::new(buf);
    let mut i = 0;

    while i <= 100000 {
        writeln!(&mut w, "{}", i).unwrap();
        i += 1;
    }
}

It simply prints the numbers 0-100000 to the screen. Compile it (rustc path-to-file). Run it in a non-accelerated terminal with time ./path-to-bin. Now time that same binary in a terminal emulator with GPU-acceleration.

The difference becomes more apparent with more text. Now, imagine needing to use something like find on a large set of files. Doing this on a non-accelerated terminal is literally slower.

It's fine if you don't need a GPU-accelerated terminal, but having acceleration is genuinely useful and a noticeable quality-of-life improvement if you do anything more than just basic CLI usage.

[-] asdfasdfasdf@lemmy.world 4 points 7 months ago

Isn't the terminal only going to affect performance when it's displayed in stdout? I'd think a program like find / using pipes would send the data under the hood and all that the terminal would deal with would be the output of the entire command.

load more comments (1 replies)
[-] Zucca@sopuli.xyz 8 points 7 months ago

Hm... I don't see it stating anything about wayland, but since it says "native" in some many places, I need to assume it won't use Xwayland, unless specifically told to.

Right? Anyone to confirm?

[-] thepiguy@lemmy.ml 9 points 7 months ago

It works natively on Wayland. The UI uses gtk4.

load more comments (1 replies)
[-] sga@lemmy.world 3 points 7 months ago

i dont have xwayland, and it worked (though i did not test enough(lack of interest))

[-] MNByChoice@midwest.social 5 points 7 months ago

Hey OP, what is the coolest feature?

[-] brie@programming.dev 5 points 7 months ago

I must be retarded. People are excited about a terminal emulator. Why?

[-] crestwave@lemmy.world 11 points 7 months ago

It's incredibly fast, has the features you would want like tabs/splits, maintains comprehensive compatibility, and is written cleanly in Zig. What's not to like?

[-] brie@programming.dev 18 points 7 months ago

I've never seen a slow terminal emulator. Most terminals have tabs and splits. Never experienced compatibility issues. Don't care about Zig at all.

Are these all the reasons? Another toy software written out of boredom.

[-] crestwave@lemmy.world 18 points 7 months ago* (last edited 7 months ago)

Most terminal emulators are in fact slow and they can be a huge bottleneck if you run complex TUIs or workloads that print a lot of output.

Ever written a program that was extremely slow only for it to run instantly after removing your debug print statements? That's because your terminal is slow.

Fast terminal emulators already exist, but they notably refused to add tabs/splits and overall tended to be quite janky. Ghostty merging these features may not be the most groundbreaking innovation, but a high quality piece of software that can drop-in replace something you use daily with some cool improvements is something to be excited about to me. :-)

[-] brie@programming.dev 6 points 7 months ago

Thanks, this clears things up. I didn't know what exactly was making print IO slow.

I don't use any complex TUIs. Pretty much everything is CLI or GUI. Which TUIs did you have in mind that were slow?

I'd like to test this soon. I'll look for a modern TUI framework.

load more comments (10 replies)
[-] False@lemmy.world 4 points 7 months ago

Yeah, I couldn't care less what language its written in

load more comments (4 replies)
[-] daniskarma@lemmy.dbzer0.com 7 points 7 months ago

People gets excited to see something written in their favourite niche language.

load more comments (1 replies)
[-] fox2263@lemmy.world 3 points 7 months ago

Any speed comparison?

[-] Euro@lemmy.ml 2 points 7 months ago

warning: this is a giant rant lol

Before the rest of my comment, let me be clear, I think this terminal is good, and i have no problems with it. My problem is with the hype.

I simply don't understand the hype whatsoever. First of all, it's not even faster than my current terminal. especially when running cat /dev/random for whatever reason

For the test i ran this rust program i saw in a comment thread somewhere

use std::{
    fs::File,
    io::{BufWriter, Write},
};

fn main() {
    let buf = File::create("/dev/stdout").unwrap();
    let mut w = BufWriter::new(buf);
    let mut i = 0;

    while i <= 100000 {
        writeln!(&mut w, "{}", i).unwrap();
        i += 1;
    }
}

compile with rustc to test yourself.

running the binary with hyperfine, i get ~35ms on my current terminal (foot), and ~40ms on ghostty.

The terminal window sizes about the same size, in fact, there were 3 extra lines in foot so it was technically handicapped.

Next is the whole "native ui thing", which sure, if you use gnome, or mac is fine i guess, but what about kde where qt is used. And for me i simply hate title bars so i turned it off immediately and now it looks better.

I do think the tabs are cool, not much to say about that, I wouldn't use them, but for those who do, pretty cool.

I have a similar opinion with the panes, personally i think if you want panes, just use a tiling window manager, or tmux or something, but i also dont really have a problem with this (tmux can be annoying).

If I've missed anything let me know, because I really dont get it.

load more comments
view more: next ›
this post was submitted on 26 Dec 2024
180 points (100.0% liked)

Linux

56798 readers
504 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 6 years ago
MODERATORS