From 5827f18d054549639291b0111e56664409dd2c52 Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 22 Oct 2026 07:23:24 +0100 Subject: [PATCH] Feature: Add Ghostty config ported from foot Same font, padding, colours, cursor and Ctrl+C/Ctrl+Shift+C bindings as foot.ini, so the two can be tried side by side. Ctrl+C copies only with a selection and interrupts otherwise; TERM falls back to xterm-256color only over SSH. foot stays the default $term. Co-Authored-By: Claude Opus 5.5 --- dotfiles/.config/ghostty/config | 66 +++++++++++++++++++++++++++++++++ system/packages.txt | 1 + 2 files changed, 67 insertions(+) create mode 100644 dotfiles/.config/ghostty/config diff --git a/dotfiles/.config/ghostty/config b/dotfiles/.config/ghostty/config new file mode 100644 index 0000000..2afbc0e --- /dev/null +++ b/dotfiles/.config/ghostty/config @@ -0,0 +1,66 @@ +# Ported from foot/foot.ini — same look and bindings, so the two can be +# tried side by side. foot is still $term in Hyprland; launch this with +# `ghostty`. Check edits with `ghostty +validate-config`. + +# --- Font / window --- +font-family = JetBrainsMono Nerd Font +font-size = 9 + +# foot: pad=12x12 center +window-padding-x = 12 +window-padding-y = 12 +window-padding-balance = true + +# foot: initial-window-size-pixels=1000x520. Ghostty sizes in cells, not +# pixels — this is roughly the same at this font size. Only matters for +# floating windows; tiled ones fill their slot either way. +window-width = 135 +window-height = 31 + +# No title bar / tabs strip from GTK — Hyprland draws the borders. +window-decoration = none +gtk-tabs-location = hidden + +# --- Terminal type --- +# foot forced TERM=xterm-256color everywhere so SSH'd hosts wouldn't lack +# terminfo. Ghostty keeps its own richer TERM locally and only falls back +# to xterm-256color (or installs its terminfo) when you ssh somewhere. +shell-integration-features = ssh-env,ssh-terminfo + +# --- Scrollback / mouse --- +# foot kept 5000 lines; Ghostty's limit is in bytes and its 10MB default +# is already well beyond that, so it's left alone. +mouse-scroll-multiplier = 2 +mouse-hide-while-typing = false + +# URLs: Ctrl+click opens them with xdg-open by default, like foot's url-mode. + +# --- Cursor --- +cursor-style = bar +cursor-style-blink = true +adjust-cursor-thickness = 1 + +# --- Colours --- +background-opacity = 0.80 +background = #0a0e14 +foreground = #fffbf6 +selection-foreground = #b3b1ad +selection-background = #b3b1ad + +palette = 0=#01060e +palette = 1=#eb4129 +palette = 2=#abe047 +palette = 3=#f9af4f +palette = 4=#53bdfa +palette = 5=#fae994 +palette = 6=#99faf2 +palette = 7=#c7c7c7 + +# --- Keybindings --- +# foot: Ctrl+C copies, Ctrl+Shift+C sends the interrupt. "performable:" +# makes Ctrl+C copy only when there's a selection — with nothing selected +# it falls through and interrupts as normal. Ctrl+Shift+C still sends ^C +# too, for muscle memory. +keybind = performable:ctrl+c=copy_to_clipboard +keybind = ctrl+shift+c=text:\x03 +# Ctrl+Shift+V paste is Ghostty's default already. diff --git a/system/packages.txt b/system/packages.txt index 8d8812f..25335e1 100644 --- a/system/packages.txt +++ b/system/packages.txt @@ -36,6 +36,7 @@ fzf # Command-line fuzzy finder galculator # GTK based scientific calculator # garcon # Freedesktop.org compliant menu library !! XFCE desktop leftover? gdu # Fast disk usage analyzer +ghostty # Fast, native, feature-rich terminal emulator pushing modern features git # the fast distributed version control system gnome-calendar # Simple and beautiful calendar application designed to perfectly fit the GNOME desktop gnome-disk-utility # Disk Management Utility for GNOME