- Un emulador de terminal multiplataforma, rápido y con muchas funciones. Ofrece interfaz nativa en Mac/Linux y usa aceleración por GPU
- Proporciona atajos de teclado flexibles, varios temas de color y numerosas opciones de configuración
Características principales
1. Binario nativo
- Funciona como una aplicación nativa en macOS y Linux
- macOS: la GUI está escrita en Swift y usa AppKit y SwiftUI
- Linux: la GUI está escrita en Zig y usa la API C de GTK4
- Implementa funciones como pestañas, paneles divididos y mensajes de error usando componentes de interfaz propios de cada plataforma
- Soporta atajos estándar de teclado y mouse de acuerdo con las convenciones de cada plataforma
- Integra funciones específicas por plataforma
- macOS: Quick Look, Force Touch, API de entrada segura, restauración del estado de la ventana al reiniciar, etc.
2. Varias funciones de terminal y de la aplicación
- Funciones de terminal:
- Soporta el protocolo gráfico de Kitty, notificaciones de modo claro/oscuro, hipervínculos y más
- Permite aprovechar más funciones en aplicaciones de terminal como Neovim y Zellij
- Funciones de la aplicación:
- Pestañas nativas, paneles divididos, terminal desplegable para macOS, cambio entre modo claro/oscuro, etc.
3. Rendimiento
- Ghostty fue diseñado con el objetivo de igualar el rendimiento de los emuladores de terminal más rápidos
- Es competitivo en varias métricas de rendimiento y está optimizado para que no se sienta lento
- Ej.: velocidad de arranque, velocidad de desplazamiento, rendimiento de IO, tasa de cuadros, etc.
- Los primeros usuarios evalúan que las mejoras de rendimiento de Ghostty se notan claramente en el uso diario
Arquitectura
- El núcleo de Ghostty es
libghostty, una biblioteca compatible con C-ABI multiplataforma- Proporciona emulación de terminal, manejo de fuentes y renderizado
- Las aplicaciones GUI funcionan sobre
libghostty- App de macOS: escrita en Swift, usa AppKit y SwiftUI
- App de Linux: escrita en Zig, usa la API C de GTK4
- La separación clara entre la emulación de terminal y la GUI permite crear un ecosistema donde distintos proyectos de emuladores de terminal puedan aprovechar
libghostty - Objetivo a futuro:
- Estabilizar la API de
libghosttyy lanzarla como una biblioteca independiente
- Estabilizar la API de
4 comentarios
En mi entorno,
weztermtenía un problema de lag mientras lo usaba, pero al cambiarme a Ghostty se volvió bastante usable. Puede que sea porque mi MB Pro ya tiene sus años, pero Ghostty se siente mucho más fluido y ligero.Estoy pensando en probarlo, pero en Linux, ¿tiene alguna ventaja destacable frente a Wezterm?
Parece que, al igual que Wezterm, funciona bien al escribir en coreano. En especial en Mac, también está bueno que las fuentes en coreano se vean distintas según la combinación NFC. Parece que las actualizaciones de Wez están algo estancadas.
Comentarios de Hacker News
Ghostty es el resultado de dos años de trabajo apasionado, y ojalá que quienes lo usen puedan sentir todo el cariño y esfuerzo puestos en él. Ghostty no afirma ser superior a otras terminales; cada una tiene objetivos de diseño y concesiones diferentes. Existen muchas terminales excelentes como Kitty, WezTerm, Foot, iTerm2 y Rio.
Ghostty es rápido y ofrece gran rendimiento, especialmente cuando se imprime mucha información de depuración, por lo que la terminal no se convierte en un cuello de botella. Hace una gran diferencia en un sistema de desarrollo.
Ghostty está compuesto de código Zig muy bien escrito, con renderizado de texto preciso y todas las funciones necesarias. Usa parte del código de
Bun.stringWidthde Bun.Hay curiosidad por saber si Ghostty tiene un concepto de Session/Workspace, y parece que podría aprender algo de la forma en que Alacritty se integra con tmux.
Ghostty tiene una función oculta llamada "quake mode", que se puede configurar con cierta combinación de teclas en macOS. No hay una opción para establecer la altura predeterminada de la ventana de "quick terminal", pero se puede ajustar arrastrando la ventana.
Después de probar varias herramientas de emuladores de terminal, alguien eligió wave terminal y compartió una lista de herramientas disponibles para macOS y Linux. No usa Warp porque es un producto de VC.
Un sitio de la comunidad que ayuda a generar configuraciones para Ghostty resulta útil.
Ghostty es software open source de alta calidad lanzado recientemente, y da esperanza en un futuro sin suscripciones. Gracias a Mitchell.
Al principio había escepticismo con la expresión "platform-native UI", pero resultó interesante que use GTK en Linux y SwiftUI en macOS. Probar un nuevo emulador de terminal siempre es divertido. Es una pena que no admita fuentes bitmap.
Es interesante una publicación de blog que explica parte de la magia de Ghostty.