dotfiles

Linux and macOS dotfiles
git clone https://github.com/michaelneuper/dotfiles.git
README | Files | Log | Refs

commit 69a538457d1ca44fbd19281685e7bfa7f456a12e
parent a19ba92081e5ef35d4493dc3e92c11dab2b3f85b
Author: Michael Neuper <michael@michaelneuper.com>
Date:   Sun, 25 Oct 2026 12:01:43 +0200

add ghostty config

Diffstat:
A.config/ghostty/config.ghostty | 57+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 57 insertions(+), 0 deletions(-)

diff --git a/.config/ghostty/config.ghostty b/.config/ghostty/config.ghostty @@ -0,0 +1,57 @@ +theme = dark:Gruvbox Dark,light:Gruvbox Light +#theme = dark:Material Darker,light:Gruvbox Light +window-padding-x = 10 +window-padding-y = 5,2 +adjust-cursor-thickness = +100% + +font-size = 14 +font-family = JetBrains Mono +font-feature = -calt, +cv01, +cv10, +cv11, +cv12 +font-family = Symbols Nerd Font +# Claude Code's icons (✻ ✔ ❯ ⏵ ⏺) aren't in JetBrains Mono, and macOS was falling back to an +# installed pixel font. Use the smooth monospace font Iosevka Fixed for those ranges instead. +font-codepoint-map = U+2700-U+27BF=Iosevka Fixed +font-codepoint-map = U+23E9-U+23FA=Iosevka Fixed +bold-is-bright = true + +# macOS settings +macos-window-buttons = visible +macos-icon = glass +auto-update = off +font-thicken = true + +# Cmd-1 … Cmd-9 switch tmux windows instead of Ghostty tabs. +# Each sends ESC [ 900<n> ~, which ~/.tmux.conf binds as User<n>. +keybind = cmd+digit_1=csi:9001~ +keybind = cmd+digit_2=csi:9002~ +keybind = cmd+digit_3=csi:9003~ +keybind = cmd+digit_4=csi:9004~ +keybind = cmd+digit_5=csi:9005~ +keybind = cmd+digit_6=csi:9006~ +keybind = cmd+digit_7=csi:9007~ +keybind = cmd+digit_8=csi:9008~ +keybind = cmd+digit_9=csi:9009~ + +# Cmd-T opens a new tmux window instead of a Ghostty tab (~/.tmux.conf: User10). +keybind = cmd+t=csi:9010~ + +# Cmd-W closes the current tmux window instead of the Ghostty tab (~/.tmux.conf: User11). +keybind = cmd+w=csi:9011~ + +# Always run inside tmux: attach to the "main" session, creating it if needed. +# Full path because apps launched from the Dock don't get Homebrew's PATH. +command = /opt/homebrew/bin/tmux new-session -A -s main + +# Don't ask before closing: tmux is always "running", and the session survives +# Ghostty closing anyway (reopening reattaches to "main"). +confirm-close-surface = false + +# Ctrl-G sends Escape (0x1b), so Ctrl-G cancels in Claude Code's dialogs and +# search boxes the same way Esc does. Side effect: Ctrl-G is no longer zsh's +# send-break in any Ghostty window. +keybind = ctrl+g=text:\x1b + +# Cmd-C inside Claude Code (fullscreen mode): Ghostty has no selection because +# Claude Code owns the mouse, so send Ctrl+Shift+C (CSI u), which Claude Code +# binds to selection:copy. Tmux's own drag-select still copies via pbcopy. +keybind = cmd+c=csi:99;6u