Skip to content

Instantly share code, notes, and snippets.

@BornPsych
Forked from Mario-SO/config
Created December 30, 2024 03:37
Show Gist options
  • Save BornPsych/e31946c9f8c646095e3d497ac8f54c3d to your computer and use it in GitHub Desktop.
Save BornPsych/e31946c9f8c646095e3d497ac8f54c3d to your computer and use it in GitHub Desktop.
Ghostty config example
# === Font Configuration ===
font-family = "" # String: Font name or empty to reset
font-family-bold = "" # String: Bold font variant
font-family-italic = "" # String: Italic font variant
font-family-bold-italic = "" # String: Bold-italic font variant
font-style = "" # String: Named font style or "false" to disable
font-style-bold = "" # String: Named bold font style
font-style-italic = "" # String: Named italic font style
font-style-bold-italic = "" # String: Named bold-italic font style
font-synthetic-style = "" # Values: "true", "false", "no-bold", "no-italic", "no-bold-italic"
font-feature = "" # String: Font feature name, prefix with - to disable
font-size = 14 # Number: Font size in points
font-variation = "" # String: Variable font axis settings (id=value)
font-codepoint-map = "" # Format: U+ABCD=fontname or U+ABCD-U+DEFG=fontname
font-thicken = false # Boolean: true/false
# === Cell Adjustments ===
adjust-cell-width = 0 # Integer or Percentage: e.g., 1, -1, "20%", "-15%"
adjust-cell-height = 0 # Integer or Percentage
adjust-font-baseline = 0 # Integer: Pixels from bottom
adjust-underline-position = 0 # Integer: Pixels from top
adjust-underline-thickness = 0 # Integer: Pixels
adjust-strikethrough-position = 0 # Integer: Pixels from top
adjust-strikethrough-thickness = 0 # Integer: Pixels
adjust-overline-position = 0 # Integer: Pixels from top
adjust-overline-thickness = 0 # Integer: Pixels
adjust-cursor-thickness = 0 # Integer: Pixels
adjust-cursor-height = 0 # Integer: Pixels
adjust-box-thickness = 0 # Integer: Pixels
# === Text Handling ===
grapheme-width-method = "unicode" # Values: "legacy", "unicode"
freetype-load-flags = "" # Values: "hinting", "force-autohint", "monochrome", "autohint"
# === Theme and Colors ===
theme = "" # String: Theme name or path, or "light:theme,dark:theme"
background = "" # Color: Hex code (#RRGGBB)
foreground = "" # Color: Hex code (#RRGGBB)
selection-foreground = "" # Color: Hex code (#RRGGBB)
selection-background = "" # Color: Hex code (#RRGGBB)
selection-invert-fg-bg = false # Boolean: true/false
minimum-contrast = 1 # Number: 1-21
palette = "" # Format: N=#RRGGBB (N: 0-255)
cursor-color = "" # Color: Hex code (#RRGGBB)
cursor-text = "" # Color: Hex code (#RRGGBB)
cursor-invert-fg-bg = false # Boolean: true/false
cursor-opacity = 1.0 # Number: 0.0-1.0
cursor-style = "block" # Values: "block", "bar", "underline", "block_hollow"
cursor-style-blink = true # Boolean: true/false
cursor-click-to-move = true # Boolean: true/false
# === Mouse Behavior ===
mouse-hide-while-typing = true # Boolean: true/false
mouse-shift-capture = false # Values: "true", "false", "always", "never"
mouse-scroll-multiplier = 1.0 # Number: 0.01-10000
# === Background Settings ===
background-opacity = 1.0 # Number: 0.0-1.0
background-blur-radius = 0 # Integer: Blur radius in pixels
unfocused-split-opacity = 1.0 # Number: 0.15-1.0
unfocused-split-fill = "" # Color: Hex code (#RRGGBB)
# === Command and Shell ===
command = "" # String: Command to run
initial-command = "" # String: First command to run
wait-after-command = false # Boolean: true/false
abnormal-command-exit-runtime = 0 # Integer: Milliseconds
# === Scrollback and Memory ===
scrollback-limit = 10000 # Integer: Bytes
link = "" # String: Regular expression
link-url = true # Boolean: true/false
# === Window Settings ===
fullscreen = false # Boolean: true/false
title = "" # String: Window title
class = "" # String: Application class
x11-instance-name = "" # String: X11 instance name
working-directory = "" # Values: "home", "inherit", or absolute path
# === Clipboard Settings ===
clipboard-read = "ask" # Values: "ask", "allow", "deny"
clipboard-write = "allow" # Values: "ask", "allow", "deny"
clipboard-trim-trailing-spaces = false # Boolean: true/false
clipboard-paste-protection = true # Boolean: true/false
clipboard-paste-bracketed-safe = true # Boolean: true/false
# === Platform Specific (macOS) ===
macos-non-native-fullscreen = false # Values: "visible-menu", "true", "false"
macos-titlebar-style = "transparent" # Values: "native", "transparent", "tabs", "hidden"
macos-titlebar-proxy-icon = "visible" # Values: "visible", "hidden"
macos-option-as-alt = false # Values: "true", "false", "left", "right"
macos-window-shadow = true # Boolean: true/false
macos-auto-secure-input = true # Boolean: true/false
macos-secure-input-indication = true # Boolean: true/false
# === Platform Specific (Linux/GTK) ===
gtk-single-instance = true # Values: "true", "false", "detect"
gtk-titlebar = true # Boolean: true/false
gtk-tabs-location = "top" # Values: "top", "bottom", "left", "right", "hidden"
gtk-wide-tabs = true # Boolean: true/false
gtk-adwaita = true # Boolean: true/false
# === Updates and System ===
auto-update = "check" # Values: "off", "check", "download"
auto-update-channel = "stable" # Values: "stable", "tip"
# === Resource Management ===
linux-cgroup = "single-instance" # Values: "never", "always", "single-instance"
linux-cgroup-memory-limit = 0 # Integer: Bytes
linux-cgroup-processes-limit = 0 # Integer: Process count
linux-cgroup-hard-fail = false # Boolean: true/false
# === Additional Settings ===
desktop-notifications = true # Boolean: true/false
bold-is-bright = false # Boolean: true/false
term = "xterm-256color" # String: Terminal type
enquiry-response = "" # String: ENQ response
# === Window Padding ===
window-padding-balance = true # Boolean: true/false
window-padding-color = "background" # Values: "background", "extend", "extend-always"
window-vsync = true # Boolean: true/false
window-inherit-working-directory = true # Boolean: true/false
window-inherit-font-size = true # Boolean: true/false
window-height = "" # Integer: Grid cells (min 4)
window-width = "" # Integer: Grid cells (min 10)
window-save-state = "default" # Values: "default", "never", "always"
window-step-resize = true # Boolean: true/false
window-new-tab-position = "current" # Values: "current", "end"
window-colorspace = "srgb" # Values: "srgb", "display-p3"
# === Resize Overlay ===
resize-overlay = "after-first" # Values: "always", "never", "after-first"
resize-overlay-position = "center" # Values: "center", "top-left", "top-center", "top-right", "bottom-left", "bottom-center", "bottom-right"
resize-overlay-duration = "750ms" # Time format: e.g., "1h30m", "45s", "750ms"
# === Quick Terminal ===
quick-terminal-position = "bottom" # Values: "top", "bottom", "left", "right", "center"
quick-terminal-screen = "main" # Values: "main", "mouse", "macos-menu-bar"
quick-terminal-animation-duration = 0.2 # Number: Animation duration in seconds
quick-terminal-autohide = true # Boolean: true/false
# === Shell Integration ===
shell-integration = "detect" # Values: "none", "detect", "bash", "elvish", "fish", "zsh"
shell-integration-features = "" # Values: "cursor", "sudo", "title" (comma-separated)
# === macOS Icon Settings ===
macos-icon = "official" # Values: "official", "custom-style"
macos-icon-frame = "aluminum" # Values: "aluminum", "beige", "plastic", "chrome"
macos-icon-ghost-color = "" # Color: Hex code (#RRGGBB)
macos-icon-screen-color = "" # Color: Hex code (#RRGGBB) (comma-separated for gradient)
# === Configuration Management ===
config-file = "" # String: Path to additional config file
config-default-files = true # Boolean: true/false
# === Application Behavior ===
focus-follows-mouse = false # Boolean: true/false
initial-window = true # Boolean: true/false
quit-after-last-window-closed = false # Boolean: true/false
quit-after-last-window-closed-delay = "" # Time format: e.g., "1h30m", "45s"
# === Custom Shader ===
custom-shader = "" # String: Path to GLSL shader file
custom-shader-animation = true # Values: "true", "false", "always"
# === Window Style (Adwaita) ===
adw-toolbar-style = "flat" # Values: "flat", "raised", "raised-border"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment