Live data from Hacker News

Ghostel.el: Terminal emulator powered by libghostty

dakra.github.io

61–70 of 74 posts

Re: Ghostel.el: Terminal emulator powered by libghostty

#61
post #36

Earlier quoted context omitted.

What do you mean by integration. Do you have a model driving emacs via server?

Maybe he's talking about claude-code-ide.el which piggybacks on Claude Code's IDE integration. It recently added support for Ghostel too.

That's the one, having the chat interface to the side, with really nice support for various resume options and when prompting the CLI it's having reference to the buffer open has been very helpful.

Re: Ghostel.el: Terminal emulator powered by libghostty

#62
post #56

Does ghostty have any features that makes it better than kitty in anyway? I keep seeing this all over the place, but I still don't understand why it's better than existing options. Can someone help who's used both help me, what's the elevator pitch for this, why is it worth checking out?

[dead]

Re: Ghostel.el: Terminal emulator powered by libghostty

#63
post #7

Hi! Maintainer of Ghostel here. baokaola and I actually wanted to do a "Show HN" next week, but looks like someone was faster submitting the link. Have a look at the GitHub repo which is a bit nicer for a quick overview: https://github.com/dakra/ghostel To add some context, Ghostel is a terminal emulator for Emacs powered by libghostty-vt. There's a feature comparison vs vterm and eat: https://dakra.github.io/ghostel…

Yeah, Ghostel works great for me so far! Two things: - defined f1 to toggle between semi-char vs copy modes - I ask myself "Is it ok if Emacs dies or I nuke it?" If not, then I execute a command in the normal terminal

> defined f1 to toggle between semi-char vs copy modes

this is useful anyway but just in case you didn't know, we automatically switch to copy-mode when it makes sense.

E.g. when you activate mark, click somewhere with the mouse or when point leaves the current prompt position.

That means that with isearch or consult-line etc you're automatically in copy-mode (because why else would you search something and then jump to that position).

For other commands like avy or flash jump packages I have this in the documentation:

;; A package that runs a hook after jumping (e.g. flash): (add-hook 'flash-after-jump-hook #'ghostel-maybe-leave-input)

;; A package without one (e.g. avy) — advise its jump action: (with-eval-after-load 'avy (advice-add 'avy-action-goto :after #'ghostel-maybe-leave-input))

Personally I use copy mode a lot but I rarely have to "manually" activate the mode.

Re: Ghostel.el: Terminal emulator powered by libghostty

#64

Earlier quoted context omitted.

Howdy, Awesome project. Been using with doom for a while. How do you manage to get scrolling programs to work (eg Lazygit or Reasonix) where other emulators fail? Is it something special in your implentation or library that makes this work?

Are you thinking about using the scroll wheel of the mouse to scroll within the program? If the appropriate terminal modes are enabled by the application running in the terminal, we capture the scroll events in Emacs and forward them to the terminal instead of letting Emacs handle them.

Yes, that's what I mean. That's interesting because I could never get it to work properly on vterm. I suspected maybe a better base with ghosttylib might be fixing things.

Re: Ghostel.el: Terminal emulator powered by libghostty

#65
post #7

Hi! Maintainer of Ghostel here. baokaola and I actually wanted to do a "Show HN" next week, but looks like someone was faster submitting the link. Have a look at the GitHub repo which is a bit nicer for a quick overview: https://github.com/dakra/ghostel To add some context, Ghostel is a terminal emulator for Emacs powered by libghostty-vt. There's a feature comparison vs vterm and eat: https://dakra.github.io/ghostel…

Commenting late, but just want to thank you for this. I've been using it for a bit now, replacing vterm for my setup. I'll be sure to submit feedback via github.

Re: Ghostel.el: Terminal emulator powered by libghostty

#66
post #58

Downloading a compiled module is a huge negative in the age of supply chain attacks; you're begging to get compromised.

This is just optional. I explained why it's not in the package in https://news.ycombinator.com/item?id=48881722 For all Emacs package updates, it's best of course to check the source what's changed and then you can compile yourself. PS, I also think Emacs is one of the few ecosystems where people actually check what changed. It's not like npm where you have a million of deps unreviewed pulled in. Personally I use bor…

Fwiw, in all my Ghostel updates recently, the Zig module failed to compile, with an error message from Zig about a line in the module source. I have a fairly up to date Zig installed via Homebrew.

I didn't have time to fix it so downloading the binary module has been the only option.

I had the same problem with vterm when I first tried it. The C module failed to compile, with a compiler error about a line in the source. As there was no downloadable binary module I fixed that one.

Re: Ghostel.el: Terminal emulator powered by libghostty

#67
post #66
post #58

Earlier quoted context omitted.

This is just optional. I explained why it's not in the package in https://news.ycombinator.com/item?id=48881722 For all Emacs package updates, it's best of course to check the source what's changed and then you can compile yourself. PS, I also think Emacs is one of the few ecosystems where people actually check what changed. It's not like npm where you have a million of deps unreviewed pulled in. Personally I use bor…

Fwiw, in all my Ghostel updates recently, the Zig module failed to compile, with an error message from Zig about a line in the module source. I have a fairly up to date Zig installed via Homebrew. I didn't have time to fix it so downloading the binary module has been the only option. I had the same problem with vterm when I first tried it. The C module failed to compile, with a compiler error about a line in the sour…

> I have a fairly up to date Zig installed via Homebrew.

This is likely the problem. Latest Zig is 0.16 and Ghostty (and therefor Ghostel) require exactly Zig 15.2.

I just updated our code to have a better error message and make it clear that the problem is the Zig version. See https://github.com/dakra/ghostel/pull/541

jFYI, Ghostty issue to support 0.16 is here: https://github.com/ghostty-org/ghostty/issues/12228

So for your homebrew zig you probably have to:

brew uninstall zig

brew install zig@0.15

Re: Ghostel.el: Terminal emulator powered by libghostty

#68
post #57

Earlier quoted context omitted.

No, running a command in a terminal buffer doesn’t block the emacs UI, but a long running bit of elisp running in emacs can block the UI.

Surprised we haven't seen an LLM-rewrite to rewrite of emacs yet!

Like https://lem-project.github.io/ ? (not vibe coded btw, even better!)

Re: Ghostel.el: Terminal emulator powered by libghostty

#70
post #68
post #57

Earlier quoted context omitted.

Surprised we haven't seen an LLM-rewrite to rewrite of emacs yet!

Like https://lem-project.github.io/ ? (not vibe coded btw, even better!)

Interesting.. although if I ever switch, it'd be to an emacs spawn that didn't use lisp as language.
Post reply on HN