| 1 | # sometimes these crash? |
| 2 | |
| 3 | # theme = "AtelierSulphurpool" |
| 4 | # theme = "BirdsOfParadise" |
| 5 | # theme = "Blazer" |
| 6 | # theme = "Ayu Mirage" |
| 7 | # theme = "Andromeda" |
| 8 | # theme = "Arthur" |
| 9 | # theme = "Aura" |
| 10 | # theme = "ayu" |
| 11 | # theme = "Adventure" |
| 12 | # theme = "Belafonte Night" |
| 13 | theme = Afterglow |
| 14 | # theme = AdventureTime |
| 15 | |
| 16 | # ::: |
| 17 | # :::: KEYBINDS :::: |
| 18 | # ::::::::::::::::::: |
| 19 | |
| 20 | # ===== TAB MANAGEMENT ===== |
| 21 | keybind = super+t=new_tab |
| 22 | keybind = ctrl+shift+t=new_tab |
| 23 | keybind = super+w=close_surface |
| 24 | keybind = ctrl+shift+w=close_surface |
| 25 | keybind = super+alt+right=next_tab |
| 26 | keybind = ctrl+tab=next_tab |
| 27 | keybind = super+alt+left=previous_tab |
| 28 | keybind = ctrl+shift+tab=previous_tab |
| 29 | |
| 30 | # ===== PANE/SPLIT MANAGEMENT ===== |
| 31 | # Create splits |
| 32 | keybind = super+backslash=new_split:right |
| 33 | keybind = super+shift+backslash=new_split:down |
| 34 | keybind = ctrl+shift+x=close_surface |
| 35 | |
| 36 | # Navigate panes |
| 37 | keybind = super+ctrl+alt+left=goto_split:left |
| 38 | keybind = super+ctrl+alt+right=goto_split:right |
| 39 | keybind = super+ctrl+alt+up=goto_split:top |
| 40 | keybind = super+ctrl+alt+down=goto_split:bottom |
| 41 | |
| 42 | # Resize panes |
| 43 | keybind = super+ctrl+up=resize_split:up,25 |
| 44 | keybind = super+ctrl+down=resize_split:down,25 |
| 45 | keybind = super+ctrl+left=resize_split:left,25 |
| 46 | keybind = super+ctrl+right=resize_split:right,25 |
| 47 | |
| 48 | # Maximize/zoom pane |
| 49 | keybind = super+m=toggle_split_zoom |
| 50 | keybind = super+enter=toggle_split_zoom |
| 51 | keybind = super+shift+enter=toggle_split_zoom |
| 52 | |
| 53 | # Equalize splits |
| 54 | keybind = super+shift+slash=equalize_splits |
| 55 | |
| 56 | # ===== UTILITY ===== |
| 57 | # Font size |
| 58 | keybind = super+zero=reset_font_size |
| 59 | keybind = super+equal=increase_font_size:1 |
| 60 | keybind = super+minus=decrease_font_size:1 |
| 61 | |
| 62 | # Windows |
| 63 | keybind = ctrl+n>w=new_window |
| 64 | |
| 65 | # Copy/paste/selection |
| 66 | keybind = alt+slash=paste_from_selection |
| 67 | keybind = super+shift+c=copy_to_clipboard |
| 68 | keybind = super+shift+v=paste_from_clipboard |
| 69 | |
| 70 | # Config reload |
| 71 | keybind = global:unconsumed:ctrl+a=reload_config |
| 72 | |
| 73 | # Leader key bindings (super+g) |
| 74 | keybind = super+g>t=new_tab |
| 75 | keybind = super+g>n=new_window |
| 76 | keybind = super+g>c=open_config |
| 77 | keybind = super+g>i=inspector:toggle |
| 78 | keybind = super+g>f=toggle_split_zoom |
| 79 | keybind = super+g>p=toggle_secure_input |
| 80 | |
| 81 | # Fullscreen |
| 82 | keybind = super+shift+f=toggle_fullscreen |
| 83 | |
| 84 | # ===== NOTES ===== |
| 85 | # WezTerm features not available in Ghostty: |
| 86 | # - Cmd+O opacity toggle (no runtime config override API) |
| 87 | # - Modal key tables (utility/resize modes) |
| 88 | # - WezTerm config changes background-opacity at runtime via Lua callbacks |
| 89 | # - Ghostty opacity is static in config (can edit config and reload) |
| 90 | # - Copy mode: Use mouse selection or shell integration instead |
| 91 | |
| 92 | # |
| 93 | # Style |
| 94 | # |
| 95 | background-blur-radius = 20 |
| 96 | background-opacity = 0.8 |
| 97 | |
| 98 | # |
| 99 | # Matt Reminders (defaults): |
| 100 | # |
| 101 | # these two are not the same. split zoom is |
| 102 | # FS within window. |
| 103 | keybind = super+enter=toggle_split_zoom |
| 104 | keybind = super+shift+enter=toggle_split_zoom |
| 105 | |
| 106 | |
| 107 | # |
| 108 | # Resizing |
| 109 | # |
| 110 | keybind = super+ctrl+up=resize_split:up,25 |
| 111 | keybind = super+ctrl+down=resize_split:down,25 |
| 112 | keybind = super+ctrl+left=resize_split:left,25 |
| 113 | keybind = super+ctrl+right=resize_split:right,25 |
| 114 | |
| 115 | |
| 116 | |
| 117 | # |
| 118 | # behaviors |
| 119 | # |
| 120 | focus-follows-mouse = false |
| 121 | macos-auto-secure-input = true |
| 122 | macos-secure-input-indication = true |
| 123 | macos-titlebar-style = transparent |
| 124 | macos-non-native-fullscreen = false |
| 125 | macos-titlebar-proxy-icon = visible |
| 126 | macos-window-shadow = true |
| 127 | macos-auto-secure-input = true |
| 128 | macos-secure-input-indication = true |
| 129 | macos-icon = official |
| 130 | |
| 131 | macos-icon-frame = aluminum |
| 132 | |
| 133 | shell-integration-features = no-cursor,no-sudo,title |
| 134 | cursor-style = underline |
| 135 | cursor-style-blink = false |
| 136 | cursor-click-to-move = true |
| 137 | mouse-hide-while-typing = true |
| 138 | mouse-shift-capture = false |
| 139 | unfocused-split-opacity = 0.7 |
| 140 | window-inherit-working-directory = true |
| 141 | |
| 142 | # title = " " |
| 143 | |
| 144 | # todo |
| 145 | # macos-option-as-alt = |
| 146 | # macos-icon-ghost-color = |
| 147 | # macos-icon-screen-color = |
| 148 | # linux-cgroup = single-instance |
| 149 | # linux-cgroup-memory-limit = |
| 150 | # linux-cgroup-processes-limit = |
| 151 | # linux-cgroup-hard-fail = false |
| 152 | # gtk-single-instance = desktop |
| 153 | # gtk-titlebar = true |
| 154 | # gtk-tabs-location = top |
| 155 | # adw-toolbar-style = raised |
| 156 | # gtk-wide-tabs = true |
| 157 | # gtk-adwaita = true |
| 158 | # desktop-notifications = true |
| 159 | # bold-is-bright = false |