|
| 1 | +# vim: ft=ghostty |
| 2 | +# Ghostty Configuration |
| 3 | +# 2025-12-20 23:00 |
| 4 | + |
| 5 | +# Common commands: |
| 6 | +# ghostty +list-fonts |
| 7 | +# ghostty +list-keybinds |
| 8 | +# ghostty +list-themes |
| 9 | +# ghostty +list-colors |
| 10 | +# ghostty +list-actions |
| 11 | +# ghostty +show-config |
| 12 | +# cmd+shift+, to reload config |
| 13 | + |
| 14 | +# Keybindings |
| 15 | +#keybind = ctrl+q>r=reload_config |
| 16 | +keybind = ctrl+shift+e=equalize_splits |
| 17 | +keybind = global:option+grave_accent=toggle_visibility |
| 18 | +keybind = global:ctrl+grave_accent=toggle_visibility |
| 19 | +keybind = performable:cmd+c=copy_to_clipboard |
| 20 | + |
| 21 | +# Shift+Left/Right Arrow |
| 22 | +keybind = shift+left=text:\x1b[1;2D |
| 23 | +keybind = shift+right=text:\x1b[1;2C |
| 24 | +keybind = shift+up=text:\x1b[1;2A |
| 25 | +keybind = shift+down=text:\x1b[1;2B |
| 26 | + |
| 27 | +# Ctrl+Left/Right Arrow (word navigation) |
| 28 | +keybind = ctrl+left=text:\x1b[1;5D |
| 29 | +keybind = ctrl+right=text:\x1b[1;5C |
| 30 | +keybind = ctrl+up=text:\x1b[1;5A |
| 31 | +keybind = ctrl+down=text:\x1b[1;5B |
| 32 | + |
| 33 | +# Ctrl+Shift+Left/Right Arrow |
| 34 | +keybind = ctrl+shift+left=text:\x1b[1;6D |
| 35 | +keybind = ctrl+shift+right=text:\x1b[1;6C |
| 36 | +keybind = ctrl+shift+up=text:\x1b[1;6A |
| 37 | +keybind = ctrl+shift+down=text:\x1b[1;6B |
| 38 | + |
| 39 | +# Home/End keys |
| 40 | +keybind = shift+home=text:\x1b[1;2H |
| 41 | +keybind = shift+end=text:\x1b[1;2F |
| 42 | +keybind = ctrl+home=text:\x1b[1;5H |
| 43 | +keybind = ctrl+end=text:\x1b[1;5F |
| 44 | + |
| 45 | +# Fix Claude Code Interpreter newlines |
| 46 | +# keybind = shift+enter=text:\n |
| 47 | +keybind = shift+enter=text:\x1b\r |
| 48 | + |
| 49 | +# Edit ghostty config with $EDITOR |
| 50 | +keybind = super+,=text:ghostty +edit-config\n |
| 51 | + |
| 52 | + |
| 53 | +# Example: require cmd+q twice to quit |
| 54 | +#keybind = cmd+q>cmd+q=quit |
| 55 | +confirm-close-surface = always |
| 56 | + |
| 57 | +# theme = Dracula |
| 58 | +# theme = Sublette |
| 59 | +# theme = TokyoNight |
| 60 | +# theme = Earthsong |
| 61 | +theme = Challenger Deep |
| 62 | +selection-background = #357482 |
| 63 | +selection-foreground = #ffffff |
| 64 | +split-divider-color = #444444 |
| 65 | + |
| 66 | +# Font Configuration |
| 67 | +font-thicken = true |
| 68 | +font-thicken-strength = 100 |
| 69 | +font-family = "TX-02" |
| 70 | +font-size = 14 |
| 71 | +# Disable ligatures |
| 72 | +font-feature = -calt |
| 73 | + |
| 74 | +cursor-text = #000000 |
| 75 | +auto-update = check |
| 76 | +auto-update-channel = stable |
| 77 | +quit-after-last-window-closed = false |
| 78 | + |
| 79 | +# window-decoration = none # breaks tabs |
| 80 | +# macos-titlebar-style = hidden # breaks tabs |
| 81 | +macos-titlebar-style = tabs |
| 82 | +macos-titlebar-proxy-icon = visible |
| 83 | +window-colorspace = display-p3 |
| 84 | + |
| 85 | +# Shell Configuration |
| 86 | +shell-integration-features = cursor,sudo,title,ssh-env,ssh-terminfo |
| 87 | +command = /opt/homebrew/bin/zsh |
| 88 | +shell-integration = zsh |
| 89 | +working-directory = /Users/samm |
| 90 | + |
| 91 | +# Terminal Type |
| 92 | +term = xterm-ghostty |
| 93 | + |
| 94 | +# Window Configuration |
| 95 | +# Maximize window on launch |
| 96 | +maximize = false |
| 97 | +window-width = 426 |
| 98 | +window-height = 100 |
| 99 | +window-position-x = 100 |
| 100 | +window-position-y = 0 |
| 101 | +window-padding-x = 5 |
| 102 | +window-padding-y = 5 |
| 103 | +window-padding-balance = true |
| 104 | + |
| 105 | +# window-decoration = auto |
| 106 | +# window-save-state = always |
| 107 | + |
| 108 | +# 100000000 = ~100mb per terminal |
| 109 | +scrollback-limit = 100000000 |
| 110 | + |
| 111 | +# Cursor Configuration |
| 112 | +cursor-style = block |
| 113 | +cursor-style-blink = true |
| 114 | + |
| 115 | +# Background Effects |
| 116 | +background-opacity = 0.9 |
| 117 | +background-blur = 30 |
| 118 | +# Make inactive splits more obvious (1.0 = fully opaque, lower = more dimmed) |
| 119 | +unfocused-split-opacity = 0.85 |
| 120 | + |
| 121 | +# Cell Spacing |
| 122 | +adjust-cell-width = -11% |
| 123 | +adjust-cell-height = -6% |
| 124 | + |
| 125 | +# macOS Behaviour |
| 126 | +macos-option-as-alt = false |
| 127 | +macos-window-shadow = true |
| 128 | + |
| 129 | +# Mouse Configuration |
| 130 | +mouse-hide-while-typing = true |
| 131 | +copy-on-select = false |
| 132 | +cursor-click-to-move = false |
| 133 | +mouse-shift-capture = true |
| 134 | +#focus-follows-mouse = true |
| 135 | +## clipboard protection |
| 136 | +# prompts before programs read clipboard |
| 137 | +clipboard-read = ask |
| 138 | +# allows writing to clipboard |
| 139 | +clipboard-write = allow |
| 140 | +# warns about dangerous pastes (e.g., commands with newlines) |
| 141 | +clipboard-paste-protection = true |
| 142 | + |
| 143 | +# prevent title query attacks |
| 144 | +title-report = false |
| 145 | + |
| 146 | +# Bell Configuration |
| 147 | +# bell-features = no-audio |
0 commit comments