From 8803dca5516ea528f29af4e712c9a2fcfda9c210 Mon Sep 17 00:00:00 2001
From: Nathan <39394314+fuddlesworth@users.noreply.github.com>
Date: Thu, 21 May 2026 13:21:51 -0500
Subject: [PATCH] =?UTF-8?q?Revert=20"rebrand=20libghostty=20CLI=20strings:?=
=?UTF-8?q?=20Ghostty=20=E2=86=92=20Ghastty"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/cli/action.zig | 2 +-
src/cli/boo.zig | 2 +-
src/cli/edit_config.zig | 12 +-
src/cli/explain_config.zig | 8 +-
src/cli/help.zig | 15 +-
src/cli/list_actions.zig | 2 +-
src/cli/list_colors.zig | 2 +-
src/cli/list_fonts.zig | 12 +-
src/cli/list_keybinds.zig | 4 +-
src/cli/list_themes.zig | 24 +--
src/cli/new_window.zig | 30 +--
src/cli/show_config.zig | 4 +-
src/cli/show_face.zig | 12 +-
src/cli/ssh_cache.zig | 6 +-
src/cli/toggle_quick_terminal.zig | 10 +-
src/cli/validate_config.zig | 2 +-
src/cli/version.zig | 6 +-
src/config/Config.zig | 312 +++++++++++++++---------------
src/input/Binding.zig | 36 ++--
src/input/command.zig | 6 +-
src/main_c.zig | 8 +-
src/main_ghostty.zig | 20 +-
22 files changed, 272 insertions(+), 263 deletions(-)
diff --git a/src/cli/action.zig b/src/cli/action.zig
index 9d3a9d580..41173a9f1 100644
--- a/src/cli/action.zig
+++ b/src/cli/action.zig
@@ -73,7 +73,7 @@ pub fn SpecialCase(comptime E: type) type {
/// If there is no pending action (we haven't seen an action yet)
/// then we should return no action. This is kind of weird but is
- /// a special case to allow "-e" in Ghastty.
+ /// a special case to allow "-e" in Ghostty.
abort_if_no_action,
};
}
diff --git a/src/cli/boo.zig b/src/cli/boo.zig
index d8ff16593..2834eadbd 100644
--- a/src/cli/boo.zig
+++ b/src/cli/boo.zig
@@ -171,7 +171,7 @@ const Boo = struct {
}
};
-/// The `boo` command is used to display the animation from the Ghastty website in the terminal
+/// The `boo` command is used to display the animation from the Ghostty website in the terminal
pub fn run(gpa: Allocator) !u8 {
// Disable on non-desktop systems.
switch (builtin.os.tag) {
diff --git a/src/cli/edit_config.zig b/src/cli/edit_config.zig
index 42a34b853..c08651a06 100644
--- a/src/cli/edit_config.zig
+++ b/src/cli/edit_config.zig
@@ -20,13 +20,13 @@ pub const Options = struct {
}
};
-/// The `edit-config` command opens the Ghastty configuration file in the
+/// The `edit-config` command opens the Ghostty configuration file in the
/// editor specified by the `$VISUAL` or `$EDITOR` environment variables.
///
/// IMPORTANT: This command will not reload the configuration after
/// editing. You will need to manually reload the configuration using the
-/// application menu, configured keybind, or by restarting Ghastty. We
-/// plan to auto-reload in the future, but Ghastty isn't capable of
+/// application menu, configured keybind, or by restarting Ghostty. We
+/// plan to auto-reload in the future, but Ghostty isn't capable of
/// this yet.
///
/// The filepath opened is the default user-specific configuration
@@ -79,7 +79,7 @@ fn runInner(alloc: Allocator, stderr: *std.Io.Writer) !u8 {
// We don't currently support Windows because we use the exec syscall.
if (comptime builtin.os.tag == .windows) {
try stderr.print(
- \\The `ghastty +edit-config` command is not supported on Windows.
+ \\The `ghostty +edit-config` command is not supported on Windows.
\\Please edit the configuration file manually at the following path:
\\
\\{s}
@@ -113,7 +113,7 @@ fn runInner(alloc: Allocator, stderr: *std.Io.Writer) !u8 {
if (editor.len == 0) {
try stderr.print(
\\The $EDITOR or $VISUAL environment variable is not set or is empty.
- \\This environment variable is required to edit the Ghastty configuration
+ \\This environment variable is required to edit the Ghostty configuration
\\via this CLI command.
\\
\\Please set the environment variable to your preferred terminal
@@ -154,7 +154,7 @@ fn runInner(alloc: Allocator, stderr: *std.Io.Writer) !u8 {
// We require libc because we want to use std.c.environ for envp
// and not have to build that ourselves. We can remove this
- // limitation later but Ghastty already heavily requires libc
+ // limitation later but Ghostty already heavily requires libc
// so this is not a big deal.
comptime assert(builtin.link_libc);
diff --git a/src/cli/explain_config.zig b/src/cli/explain_config.zig
index 227805551..4f034afef 100644
--- a/src/cli/explain_config.zig
+++ b/src/cli/explain_config.zig
@@ -31,7 +31,7 @@ pub const Options = struct {
};
/// The `explain-config` command prints the documentation for a single
-/// Ghastty configuration option or keybind action.
+/// Ghostty configuration option or keybind action.
///
/// Examples:
///
@@ -78,9 +78,9 @@ pub fn run(alloc: Allocator) !u8 {
var stderr: std.fs.File = .stderr();
var buffer: [4096]u8 = undefined;
var stderr_writer = stderr.writer(&buffer);
- try stderr_writer.interface.writeAll("Usage: ghastty +explain-config \n");
- try stderr_writer.interface.writeAll(" ghastty +explain-config --option= \n");
- try stderr_writer.interface.writeAll(" ghastty +explain-config --keybind=\n");
+ try stderr_writer.interface.writeAll("Usage: ghostty +explain-config \n");
+ try stderr_writer.interface.writeAll(" ghostty +explain-config --option= \n");
+ try stderr_writer.interface.writeAll(" ghostty +explain-config --keybind=\n");
try stderr_writer.end();
return 1;
};
diff --git a/src/cli/help.zig b/src/cli/help.zig
index fb94b86e4..a2b4dde80 100644
--- a/src/cli/help.zig
+++ b/src/cli/help.zig
@@ -15,7 +15,7 @@ pub const Options = struct {
}
};
-/// The `help` command shows general help about Ghastty. Recognized as either
+/// The `help` command shows general help about Ghostty. Recognized as either
/// `-h, `--help`, or like other actions `+help`.
///
/// You can also specify `--help` or `-h` along with any action such as
@@ -34,11 +34,11 @@ pub fn run(alloc: Allocator) !u8 {
var stdout_writer = std.fs.File.stdout().writer(&buffer);
const stdout = &stdout_writer.interface;
try stdout.writeAll(
- \\Usage: ghastty [+action] [options]
+ \\Usage: ghostty [+action] [options]
\\
- \\Run the Ghastty terminal emulator or a specific helper action.
+ \\Run the Ghostty terminal emulator or a specific helper action.
\\
- \\If no `+action` is specified, run the Ghastty terminal emulator.
+ \\If no `+action` is specified, run the Ghostty terminal emulator.
\\All configuration keys are available as command line options.
\\To specify a configuration key, use the `--=` syntax
\\where key and value are the same format you'd put into a configuration
@@ -50,7 +50,12 @@ pub fn run(alloc: Allocator) !u8 {
\\
\\A special command line argument `-e ` can be used to run
\\the specific command inside the terminal emulator. For example,
- \\`ghastty -e top` will run the `top` command inside the terminal.
+ \\`ghostty -e top` will run the `top` command inside the terminal.
+ \\
+ \\On macOS, launching the terminal emulator from the CLI is not
+ \\supported and only actions are supported. Use `open -na Ghostty.app`
+ \\instead, or `open -na ghostty.app --args --foo=bar --baz=quz` to pass
+ \\arguments.
\\
\\Available actions:
\\
diff --git a/src/cli/list_actions.zig b/src/cli/list_actions.zig
index 7b3970b77..aaef1195e 100644
--- a/src/cli/list_actions.zig
+++ b/src/cli/list_actions.zig
@@ -21,7 +21,7 @@ pub const Options = struct {
};
/// The `list-actions` command is used to list all the available keybind
-/// actions for Ghastty. These are distinct from the CLI Actions which can
+/// actions for Ghostty. These are distinct from the CLI Actions which can
/// be listed via `+help`
///
/// Flags:
diff --git a/src/cli/list_colors.zig b/src/cli/list_colors.zig
index 32c0060a9..50c12a693 100644
--- a/src/cli/list_colors.zig
+++ b/src/cli/list_colors.zig
@@ -23,7 +23,7 @@ pub const Options = struct {
};
/// The `list-colors` command is used to list all the named RGB colors in
-/// Ghastty.
+/// Ghostty.
///
/// Flags:
///
diff --git a/src/cli/list_fonts.zig b/src/cli/list_fonts.zig
index 79d0b1329..6e08aa838 100644
--- a/src/cli/list_fonts.zig
+++ b/src/cli/list_fonts.zig
@@ -36,13 +36,13 @@ pub const Options = struct {
};
/// The `list-fonts` command is used to list all the available fonts for
-/// Ghastty. This uses the exact same font discovery mechanism Ghastty uses to
+/// Ghostty. This uses the exact same font discovery mechanism Ghostty uses to
/// find fonts to use.
///
/// When executed with no arguments, this will list all available fonts, sorted
/// by family name, then font name. If a family name is given with `--family`,
/// the sorting will be disabled and the results instead will be shown in the
-/// same priority order Ghastty would use to pick a font.
+/// same priority order Ghostty would use to pick a font.
///
/// Flags:
///
@@ -57,7 +57,7 @@ pub const Options = struct {
/// prioritized.
///
/// * `--family`: Filter results to a specific font family. The family handling
-/// is identical to the `font-family` set of Ghastty configuration values, so
+/// is identical to the `font-family` set of Ghostty configuration values, so
/// this can be used to debug why your desired font may not be loading.
pub fn run(alloc: Allocator) !u8 {
var iter = try args.argsIterator(alloc);
@@ -75,14 +75,14 @@ fn runArgs(alloc_gpa: Allocator, argsIter: anytype) !u8 {
defer arena.deinit();
const alloc = arena.allocator();
- // Its possible to build Ghastty without font discovery!
+ // Its possible to build Ghostty without font discovery!
if (comptime font.Discover == void) {
var buffer: [1024]u8 = undefined;
var stderr_writer = std.fs.File.stderr().writer(&buffer);
const stderr = &stderr_writer.interface;
try stderr.print(
- \\Ghastty was built without a font discovery mechanism. This is a compile-time
- \\option. Please review how Ghastty was built from source, contact the
+ \\Ghostty was built without a font discovery mechanism. This is a compile-time
+ \\option. Please review how Ghostty was built from source, contact the
\\maintainer to enable a font discovery mechanism, and try again.
,
.{},
diff --git a/src/cli/list_keybinds.zig b/src/cli/list_keybinds.zig
index 4a4d66487..61050d0cb 100644
--- a/src/cli/list_keybinds.zig
+++ b/src/cli/list_keybinds.zig
@@ -35,12 +35,12 @@ pub const Options = struct {
};
/// The `list-keybinds` command is used to list all the available keybinds for
-/// Ghastty.
+/// Ghostty.
///
/// When executed without any arguments this will list the current keybinds
/// loaded by the config file. If no config file is found or there aren't any
/// changes to the keybinds it will print out the default ones configured for
-/// Ghastty
+/// Ghostty
///
/// Flags:
///
diff --git a/src/cli/list_themes.zig b/src/cli/list_themes.zig
index d5a20e5c0..42aff9d56 100644
--- a/src/cli/list_themes.zig
+++ b/src/cli/list_themes.zig
@@ -67,7 +67,7 @@ const ThemeListElement = struct {
};
/// The `list-themes` command is used to preview or list all the available
-/// themes for Ghastty.
+/// themes for Ghostty.
///
/// If this command is run from a TTY, a TUI preview of the themes will be
/// shown. While in the preview, `F1` will bring up a help screen and `ESC` will
@@ -80,16 +80,16 @@ const ThemeListElement = struct {
///
/// Two different directories will be searched for themes.
///
-/// The first directory is the `themes` subdirectory of your Ghastty
+/// The first directory is the `themes` subdirectory of your Ghostty
/// configuration directory. This is `$XDG_CONFIG_HOME/ghostty/themes` or
/// `~/.config/ghostty/themes`.
///
-/// The second directory is the `themes` subdirectory of the Ghastty resources
-/// directory. Ghastty ships with a multitude of themes that will be installed
+/// The second directory is the `themes` subdirectory of the Ghostty resources
+/// directory. Ghostty ships with a multitude of themes that will be installed
/// into this directory. On macOS, this directory is the
/// `Ghostty.app/Contents/Resources/ghostty/themes`. On Linux, this directory
-/// is the `share/ghostty/themes` (wherever you installed the Ghastty "share"
-/// directory). If you're running Ghastty from the source, this is the
+/// is the `share/ghostty/themes` (wherever you installed the Ghostty "share"
+/// directory). If you're running Ghostty from the source, this is the
/// `zig-out/share/ghostty/themes` directory.
///
/// You can also set the `GHOSTTY_RESOURCES_DIR` environment variable to point
@@ -127,8 +127,8 @@ pub fn run(gpa_alloc: std.mem.Allocator) !u8 {
const resources_dir = global_state.resources_dir.app();
if (resources_dir == null)
- try stderr.print("Could not find the Ghastty resources directory. Please ensure " ++
- "that Ghastty is installed correctly.\n", .{});
+ try stderr.print("Could not find the Ghostty resources directory. Please ensure " ++
+ "that Ghostty is installed correctly.\n", .{});
var count: usize = 0;
@@ -300,7 +300,7 @@ const Preview = struct {
const writer = self.tty.writer();
try self.vx.enterAltScreen(writer);
- try self.vx.setTitle(writer, "👻 Ghastty Theme Preview 👻");
+ try self.vx.setTitle(writer, "👻 Ghostty Theme Preview 👻");
try self.vx.queryTerminal(writer, 1 * std.time.ns_per_s);
try self.vx.setMouseMode(writer, true);
if (self.vx.caps.color_scheme_updates)
@@ -834,18 +834,18 @@ const Preview = struct {
child.fill(.{ .style = self.ui_standard() });
const save_instructions = [_][]const u8{
- "To apply this theme, add the following line to your Ghastty configuration:",
+ "To apply this theme, add the following line to your Ghostty configuration:",
"",
try std.fmt.allocPrint(alloc, "theme = {s}", .{theme.theme}),
"",
"Save the configuration file and then reload it to apply the new theme.",
"",
"Or press 'w' to write an auto theme file to your system's preferred default config path.",
- "Then add the following line to your Ghastty configuration and reload:",
+ "Then add the following line to your Ghostty configuration and reload:",
"",
"config-file = ?auto/theme.ghostty",
"",
- "For more details on configuration and themes, visit the Ghastty documentation:",
+ "For more details on configuration and themes, visit the Ghostty documentation:",
"",
"https://ghostty.org/docs/config/reference",
};
diff --git a/src/cli/new_window.zig b/src/cli/new_window.zig
index a93b06dad..a89c4ffab 100644
--- a/src/cli/new_window.zig
+++ b/src/cli/new_window.zig
@@ -12,7 +12,7 @@ pub const Options = struct {
/// This is set by the CLI parser for deinit.
_arena: ?ArenaAllocator = null,
- /// If set, open up a new window in a custom instance of Ghastty.
+ /// If set, open up a new window in a custom instance of Ghostty.
class: ?[:0]const u8 = null,
/// Did the user specify a `--working-directory` argument on the command line?
@@ -85,16 +85,16 @@ pub const Options = struct {
};
/// The `new-window` will use native platform IPC to open up a new window in a
-/// running instance of Ghastty.
+/// running instance of Ghostty.
///
/// If the `--class` flag is not set, the `new-window` command will try and
-/// connect to a running instance of Ghastty based on what optimizations the
-/// Ghastty CLI was compiled with. Otherwise the `new-window` command will try
-/// and contact a running Ghastty instance that was configured with the same
+/// connect to a running instance of Ghostty based on what optimizations the
+/// Ghostty CLI was compiled with. Otherwise the `new-window` command will try
+/// and contact a running Ghostty instance that was configured with the same
/// `class` as was given on the command line.
///
/// All of the arguments after the `+new-window` argument (except for the
-/// `--class` flag) will be sent to the remote Ghastty instance and will be
+/// `--class` flag) will be sent to the remote Ghostty instance and will be
/// parsed as command line flags. These flags will override certain settings
/// when creating the first surface in the new window. Currently, only
/// `--working-directory`, `--command`, and `--title` are supported. `-e` will
@@ -104,27 +104,27 @@ pub const Options = struct {
///
/// If `--working-directory` is found on the command line and is a relative
/// path (i.e. doesn't start with `/`) it will be resolved to an absolute path
-/// relative to the current working directory that the `ghastty +new-window`
+/// relative to the current working directory that the `ghostty +new-window`
/// command is run from. `~/` prefixes will also be expanded to the user's home
/// directory.
///
/// If `--working-directory` is _not_ found on the command line, the working
-/// directory that `ghastty +new-window` is run from will be passed to Ghastty.
+/// directory that `ghostty +new-window` is run from will be passed to Ghostty.
///
-/// GTK uses an application ID to identify instances of applications. If Ghastty
+/// GTK uses an application ID to identify instances of applications. If Ghostty
/// is compiled with release optimizations, the default application ID will be
-/// `com.mitchellh.ghostty`. If Ghastty is compiled with debug optimizations,
+/// `com.mitchellh.ghostty`. If Ghostty is compiled with debug optimizations,
/// the default application ID will be `com.mitchellh.ghostty-debug`. The
/// `class` configuration entry can be used to set up a custom application
/// ID. The class name must follow the requirements defined [in the GTK
/// documentation](https://docs.gtk.org/gio/type_func.Application.id_is_valid.html)
-/// or it will be ignored and Ghastty will use the default as defined above.
+/// or it will be ignored and Ghostty will use the default as defined above.
///
-/// On GTK, D-Bus activation must be properly configured. Ghastty does not need
+/// On GTK, D-Bus activation must be properly configured. Ghostty does not need
/// to be running for this to open a new window, making it suitable for binding
/// to keys in your window manager (if other methods for configuring global
/// shortcuts are unavailable). D-Bus will handle launching a new instance
-/// of Ghastty if it is not already running. See the Ghastty website for
+/// of Ghostty if it is not already running. See the Ghostty website for
/// information on properly configuring D-Bus activation.
///
/// Only supported on GTK.
@@ -132,11 +132,11 @@ pub const Options = struct {
/// Flags:
///
/// * `--class=`: If set, open up a new window in a custom instance of
-/// Ghastty. The class must be a valid GTK application ID.
+/// Ghostty. The class must be a valid GTK application ID.
///
/// * `--command`: The command to be executed in the first surface of the new window.
///
-/// * `--working-directory=`: The working directory to pass to Ghastty.
+/// * `--working-directory=`: The working directory to pass to Ghostty.
///
/// * `--title`: A title that will override the title of the first surface in
/// the new window. The title override may be edited or removed later.
diff --git a/src/cli/show_config.zig b/src/cli/show_config.zig
index dd8487d8b..cd0ba89a7 100644
--- a/src/cli/show_config.zig
+++ b/src/cli/show_config.zig
@@ -32,7 +32,7 @@ pub const Options = struct {
}
};
-/// The `show-config` command shows the current configuration in a valid Ghastty
+/// The `show-config` command shows the current configuration in a valid Ghostty
/// configuration file format.
///
/// When executed without any arguments this will output the current
@@ -40,7 +40,7 @@ pub const Options = struct {
/// using the default configuration this will output nothing.
///
/// If you are a new user and want to see all available options with
-/// documentation, run `ghastty +show-config --default --docs`.
+/// documentation, run `ghostty +show-config --default --docs`.
///
/// The output is not in any specific order, but the order should be consistent
/// between runs. The output is not guaranteed to be exactly match the input
diff --git a/src/cli/show_face.zig b/src/cli/show_face.zig
index 9e92d765f..9dee777b3 100644
--- a/src/cli/show_face.zig
+++ b/src/cli/show_face.zig
@@ -40,11 +40,11 @@ pub const Options = struct {
}
};
-/// The `show-face` command shows what font face Ghastty will use to render a
+/// The `show-face` command shows what font face Ghostty will use to render a
/// specific codepoint. Note that this command does not take into consideration
/// grapheme clustering or any other Unicode features that might modify the
/// presentation of a codepoint, so this may show a different font face than
-/// Ghastty uses to render a codepoint in a terminal session.
+/// Ghostty uses to render a codepoint in a terminal session.
///
/// Flags:
///
@@ -90,11 +90,11 @@ fn runArgs(
stdout: *std.Io.Writer,
stderr: *std.Io.Writer,
) !u8 {
- // Its possible to build Ghastty without font discovery!
+ // Its possible to build Ghostty without font discovery!
if (comptime font.Discover == void) {
try stderr.print(
- \\Ghastty was built without a font discovery mechanism. This is a compile-time
- \\option. Please review how Ghastty was built from source, contact the
+ \\Ghostty was built without a font discovery mechanism. This is a compile-time
+ \\option. Please review how Ghostty was built from source, contact the
\\maintainer to enable a font discovery mechanism, and try again.
,
.{},
@@ -218,7 +218,7 @@ fn lookup(
const face = font_grid.resolver.collection.getFace(idx) catch |err| switch (err) {
error.SpecialHasNoFace => {
- try stdout.print("U+{0X:0>2} « {0u} » is handled by Ghastty's internal sprites.\n", .{cp});
+ try stdout.print("U+{0X:0>2} « {0u} » is handled by Ghostty's internal sprites.\n", .{cp});
return null;
},
else => {
diff --git a/src/cli/ssh_cache.zig b/src/cli/ssh_cache.zig
index 1afb3f703..d3ee658af 100644
--- a/src/cli/ssh_cache.zig
+++ b/src/cli/ssh_cache.zig
@@ -26,7 +26,7 @@ pub const Options = struct {
/// Manage the SSH terminfo cache for automatic remote host setup.
///
/// When SSH integration is enabled with `shell-integration-features = ssh-terminfo`,
-/// Ghastty automatically installs its terminfo on remote hosts. This command
+/// Ghostty automatically installs its terminfo on remote hosts. This command
/// manages the cache of successful installations to avoid redundant uploads.
///
/// The cache stores hostnames (or user@hostname combinations) along with timestamps.
@@ -162,13 +162,13 @@ pub fn runInner(
if (cached) {
try stdout.print(
- "'{s}' has Ghastty terminfo installed.\n",
+ "'{s}' has Ghostty terminfo installed.\n",
.{host},
);
return 0;
} else {
try stdout.print(
- "'{s}' does not have Ghastty terminfo installed.\n",
+ "'{s}' does not have Ghostty terminfo installed.\n",
.{host},
);
return 1;
diff --git a/src/cli/toggle_quick_terminal.zig b/src/cli/toggle_quick_terminal.zig
index 288eb6966..233700f77 100644
--- a/src/cli/toggle_quick_terminal.zig
+++ b/src/cli/toggle_quick_terminal.zig
@@ -4,7 +4,7 @@ const Action = @import("../cli.zig").ghostty.Action;
const apprt = @import("../apprt.zig");
pub const Options = struct {
- /// If set, connect to a custom instance of Ghastty.
+ /// If set, connect to a custom instance of Ghostty.
class: ?[:0]const u8 = null,
pub fn deinit(self: *Options) void {
@@ -19,13 +19,13 @@ pub const Options = struct {
};
/// The `+toggle-quick-terminal` command will use native platform IPC to toggle
-/// the quick terminal in a running instance of Ghastty.
+/// the quick terminal in a running instance of Ghostty.
///
/// If the `--class` flag is not set, the command will try and connect to the
-/// default running Ghastty instance. Otherwise it will contact a Ghastty
+/// default running Ghostty instance. Otherwise it will contact a Ghostty
/// instance configured with the given `class`.
///
-/// On GTK, D-Bus activation must be properly configured. Ghastty does not need
+/// On GTK, D-Bus activation must be properly configured. Ghostty does not need
/// to be running, as D-Bus will handle launching a new instance if it is not
/// already running.
///
@@ -33,7 +33,7 @@ pub const Options = struct {
///
/// Flags:
///
-/// * `--class=`: If set, connect to a custom instance of Ghastty.
+/// * `--class=`: If set, connect to a custom instance of Ghostty.
/// The class must be a valid GTK application ID.
///
/// Available since: 1.4.0
diff --git a/src/cli/validate_config.zig b/src/cli/validate_config.zig
index be6ec5522..5586cf29f 100644
--- a/src/cli/validate_config.zig
+++ b/src/cli/validate_config.zig
@@ -20,7 +20,7 @@ pub const Options = struct {
}
};
-/// The `validate-config` command is used to validate a Ghastty config file.
+/// The `validate-config` command is used to validate a Ghostty config file.
///
/// When executed without any arguments, this will load the config from the default
/// location.
diff --git a/src/cli/version.zig b/src/cli/version.zig
index 69938e4d0..cf8e66fa6 100644
--- a/src/cli/version.zig
+++ b/src/cli/version.zig
@@ -12,7 +12,7 @@ const adw_version = @import("../apprt/gtk/adw_version.zig");
pub const Options = struct {};
-/// The `version` command is used to display information about Ghastty. Recognized as
+/// The `version` command is used to display information about Ghostty. Recognized as
/// either `+version` or `--version`.
pub fn run(alloc: Allocator) !u8 {
var buffer: [1024]u8 = undefined;
@@ -28,7 +28,7 @@ pub fn run(alloc: Allocator) !u8 {
.{commit_hash},
);
};
- try stdout.print("Ghastty {s}\n\n", .{build_config.version_string});
+ try stdout.print("Ghostty {s}\n\n", .{build_config.version_string});
if (tty) try stdout.print("\x1b]8;;\x1b\\", .{});
try stdout.print("Version\n", .{});
@@ -61,7 +61,7 @@ pub fn run(alloc: Allocator) !u8 {
try stdout.print(" - libX11 : disabled\n", .{});
}
- // We say `libwayland` since it is possible to build Ghastty without
+ // We say `libwayland` since it is possible to build Ghostty without
// Wayland integration but with Wayland-enabled GTK
if (comptime build_options.wayland) {
try stdout.print(" - libwayland : enabled\n", .{});
diff --git a/src/config/Config.zig b/src/config/Config.zig
index 4a7cd5d32..9e6e5629c 100644
--- a/src/config/Config.zig
+++ b/src/config/Config.zig
@@ -63,55 +63,55 @@ const c = @cImport({
pub const compatibility = std.StaticStringMap(
cli.CompatibilityHandler(Config),
).initComptime(&.{
- // Ghastty 1.1 introduced background-blur support for Linux which
+ // Ghostty 1.1 introduced background-blur support for Linux which
// doesn't support a specific radius value. The renaming is to let
// one field be used for both platforms (macOS retained the ability
// to set a radius).
.{ "background-blur-radius", cli.compatibilityRenamed(Config, "background-blur") },
- // Ghastty 1.2 renamed all our adw options to gtk because we now have
+ // Ghostty 1.2 renamed all our adw options to gtk because we now have
// a hard dependency on libadwaita.
.{ "adw-toolbar-style", cli.compatibilityRenamed(Config, "gtk-toolbar-style") },
- // Ghastty 1.2 removed the `hidden` value from `gtk-tabs-location` and
+ // Ghostty 1.2 removed the `hidden` value from `gtk-tabs-location` and
// moved it to `window-show-tab-bar`.
.{ "gtk-tabs-location", compatGtkTabsLocation },
- // Ghastty 1.2 lets you set `cell-foreground` and `cell-background`
+ // Ghostty 1.2 lets you set `cell-foreground` and `cell-background`
// to match the cell foreground and background colors, respectively.
// This can be used with `cursor-color` and `cursor-text` to recreate
// this behavior. This applies to selection too.
.{ "cursor-invert-fg-bg", compatCursorInvertFgBg },
.{ "selection-invert-fg-bg", compatSelectionInvertFgBg },
- // Ghastty 1.2 merged `bold-is-bright` into the new `bold-color`
+ // Ghostty 1.2 merged `bold-is-bright` into the new `bold-color`
// by setting the value to "bright".
.{ "bold-is-bright", compatBoldIsBright },
- // Ghastty 1.2 removed the "desktop" option and renamed it to "detect".
+ // Ghostty 1.2 removed the "desktop" option and renamed it to "detect".
// The semantics also changed slightly but this is the correct mapping.
.{ "gtk-single-instance", compatGtkSingleInstance },
- // Ghastty 1.3 rename the "window" option to "new-window".
+ // Ghostty 1.3 rename the "window" option to "new-window".
// See: https://github.com/ghostty-org/ghostty/pull/9764
.{ "macos-dock-drop-behavior", compatMacOSDockDropBehavior },
});
-/// Set Ghastty's graphical user interface language to a language other than the
+/// Set Ghostty's graphical user interface language to a language other than the
/// system default language. For example:
///
/// language = de
///
-/// will force the strings in Ghastty's graphical user interface to be in German
+/// will force the strings in Ghostty's graphical user interface to be in German
/// rather than the system default.
///
-/// This will not affect the language used by programs run _within_ Ghastty.
+/// This will not affect the language used by programs run _within_ Ghostty.
/// Those will continue to use the default system language. There are also many
-/// non-GUI elements in Ghastty that are not translated - this setting will have
+/// non-GUI elements in Ghostty that are not translated - this setting will have
/// no effect on those.
///
/// Warning: This setting cannot be reloaded at runtime. To change the language
-/// you must fully restart Ghastty.
+/// you must fully restart Ghostty.
///
/// GTK only.
/// Available since 1.3.0.
@@ -128,7 +128,7 @@ language: ?[:0]const u8 = null,
/// font. This is particularly useful for multiple languages, symbolic fonts,
/// etc.
///
-/// Notes on emoji specifically: On macOS, Ghastty by default will always use
+/// Notes on emoji specifically: On macOS, Ghostty by default will always use
/// Apple Color Emoji and on Linux will always use Noto Emoji. You can
/// override this behavior by specifying a font family here that contains
/// emoji glyphs.
@@ -136,15 +136,15 @@ language: ?[:0]const u8 = null,
/// The specific styles (bold, italic, bold italic) do not need to be
/// explicitly set. If a style is not set, then the regular style (font-family)
/// will be searched for stylistic variants. If a stylistic variant is not
-/// found, Ghastty will use the regular style. This prevents falling back to a
+/// found, Ghostty will use the regular style. This prevents falling back to a
/// different font family just to get a style such as bold. This also applies
/// if you explicitly specify a font family for a style. For example, if you
-/// set `font-family-bold = FooBar` and "FooBar" cannot be found, Ghastty will
+/// set `font-family-bold = FooBar` and "FooBar" cannot be found, Ghostty will
/// use whatever font is set for `font-family` for the bold style.
///
/// Finally, some styles may be synthesized if they are not supported.
/// For example, if a font does not have an italic style and no alternative
-/// italic font is specified, Ghastty will synthesize an italic style by
+/// italic font is specified, Ghostty will synthesize an italic style by
/// applying a slant to the regular style. If you want to disable these
/// synthesized styles then you can use the `font-style` configurations
/// as documented below.
@@ -187,10 +187,10 @@ language: ?[:0]const u8 = null,
@"font-style-italic": FontStyle = .{ .default = {} },
@"font-style-bold-italic": FontStyle = .{ .default = {} },
-/// Control whether Ghastty should synthesize a style if the requested style is
+/// Control whether Ghostty should synthesize a style if the requested style is
/// not available in the specified font-family.
///
-/// Ghastty can synthesize bold, italic, and bold italic styles if the font
+/// Ghostty can synthesize bold, italic, and bold italic styles if the font
/// does not have a specific style. For bold, this is done by drawing an
/// outline around the glyph of varying thickness. For italic, this is done by
/// applying a slant to the glyph. For bold italic, both of these are applied.
@@ -232,7 +232,7 @@ language: ?[:0]const u8 = null,
///
/// The syntax is fairly loose, but invalid settings will be silently ignored.
///
-/// The font feature will apply to all fonts rendered by Ghastty. A future
+/// The font feature will apply to all fonts rendered by Ghostty. A future
/// enhancement will allow targeting specific faces.
///
/// To disable programming ligatures, use `-calt` since this is the typical
@@ -356,8 +356,8 @@ language: ?[:0]const u8 = null,
/// "!" is at the end of one run and "=" is at the start of the next run,
/// then the ligature will not be formed.
///
-/// Ghastty breaks runs at certain points to improve readability or usability.
-/// For example, Ghastty by default will break runs under the cursor so that
+/// Ghostty breaks runs at certain points to improve readability or usability.
+/// For example, Ghostty by default will break runs under the cursor so that
/// text editing can see the individual characters rather than a ligature.
/// This configuration lets you configure this behavior.
///
@@ -511,7 +511,7 @@ language: ?[:0]const u8 = null,
/// explicitly disable flags you don't want. You can also use `true` or `false`
/// to turn all flags on or off.
///
-/// This configuration only applies to Ghastty builds that use FreeType.
+/// This configuration only applies to Ghostty builds that use FreeType.
/// This is usually the case only for Linux builds. macOS uses CoreText
/// and does not have an equivalent configuration.
///
@@ -529,7 +529,7 @@ language: ?[:0]const u8 = null,
/// * `autohint` - Enable the freetype auto-hinter. Enabled by default.
///
/// * `light` - Use a light hinting style, better preserving glyph shapes.
-/// This is the most common setting in GTK apps and therefore also Ghastty's
+/// This is the most common setting in GTK apps and therefore also Ghostty's
/// default. This has no effect if `monochrome` is enabled. Enabled by
/// default.
///
@@ -537,11 +537,11 @@ language: ?[:0]const u8 = null,
@"freetype-load-flags": FreetypeLoadFlags = .{},
/// A theme to use. This can be a built-in theme name, a custom theme
-/// name, or an absolute path to a custom theme file. Ghastty also supports
+/// name, or an absolute path to a custom theme file. Ghostty also supports
/// specifying a different theme to use for light and dark mode. Each
/// option is documented below.
///
-/// If the theme is an absolute pathname, Ghastty will attempt to load that
+/// If the theme is an absolute pathname, Ghostty will attempt to load that
/// file as a theme. If that file does not exist or is inaccessible, an error
/// will be logged and no other directories will be searched.
///
@@ -550,20 +550,20 @@ language: ?[:0]const u8 = null,
/// systems with case-sensitive filesystems. It is an error for a theme name to
/// include path separators unless it is an absolute pathname.
///
-/// The first directory is the `themes` subdirectory of your Ghastty
+/// The first directory is the `themes` subdirectory of your Ghostty
/// configuration directory. This is `$XDG_CONFIG_HOME/ghostty/themes` or
/// `~/.config/ghostty/themes`.
///
-/// The second directory is the `themes` subdirectory of the Ghastty resources
-/// directory. Ghastty ships with a multitude of themes that will be installed
+/// The second directory is the `themes` subdirectory of the Ghostty resources
+/// directory. Ghostty ships with a multitude of themes that will be installed
/// into this directory. On macOS, this list is in the
/// `Ghostty.app/Contents/Resources/ghostty/themes` directory. On Linux, this
/// list is in the `share/ghostty/themes` directory (wherever you installed the
-/// Ghastty "share" directory.
+/// Ghostty "share" directory.
///
-/// To see a list of available themes, run `ghastty +list-themes`.
+/// To see a list of available themes, run `ghostty +list-themes`.
///
-/// A theme file is simply another Ghastty configuration file. They share
+/// A theme file is simply another Ghostty configuration file. They share
/// the same syntax and same configuration options. A theme can set any valid
/// configuration option so please do not use a theme file from an untrusted
/// source. The built-in themes are audited to only set safe configuration
@@ -571,7 +571,7 @@ language: ?[:0]const u8 = null,
///
/// Some options cannot be set within theme files. The reason these are not
/// supported should be self-evident. A theme file cannot set `theme` or
-/// `config-file`. At the time of writing this, Ghastty will not show any
+/// `config-file`. At the time of writing this, Ghostty will not show any
/// warnings or errors if you set these options in a theme file but they will
/// be silently ignored.
///
@@ -606,11 +606,11 @@ foreground: Color = .{ .r = 0xFF, .g = 0xFF, .b = 0xFF },
///
/// The background image is currently per-terminal, not per-window. If
/// you are a heavy split user, the background image will be repeated across
-/// splits. A future improvement to Ghastty will address this.
+/// splits. A future improvement to Ghostty will address this.
///
/// WARNING: Background images are currently duplicated in VRAM per-terminal.
/// For sufficiently large images, this could lead to a large increase in
-/// memory usage (specifically VRAM usage). A future Ghastty improvement
+/// memory usage (specifically VRAM usage). A future Ghostty improvement
/// will resolve this by sharing image textures across terminals.
///
/// Available since: 1.2.0
@@ -880,7 +880,7 @@ palette: Palette = .{},
/// If this is not set, the cursor blinks by default. Note that this is not the
/// same as a "true" value, as noted below.
///
-/// If this is not set at all (`null`), then Ghastty will respect DEC Mode 12
+/// If this is not set at all (`null`), then Ghostty will respect DEC Mode 12
/// (AT&T cursor blink) as an alternate approach to turning blinking on/off. If
/// this is set to any value other than null, DEC mode 12 will be ignored but
/// `DECSCUSR` will still be respected.
@@ -906,7 +906,7 @@ palette: Palette = .{},
/// This feature requires shell integration, specifically prompt marking
/// via `OSC 133`. Some shells like Fish (v4) and Nu (0.111+) natively
/// support this while others may require additional configuration or
-/// Ghastty's shell integration features to be enabled.
+/// Ghostty's shell integration features to be enabled.
///
/// Depending on the shell, this works either by translating your click
/// position into a series of synthetic arrow key movements or by sending
@@ -928,7 +928,7 @@ palette: Palette = .{},
///
/// - `keystroke` If set, scroll the surface to the bottom when the user
/// presses a key that results in data being sent to the PTY (basically
-/// anything but modifiers or keybinds that are processed by Ghastty).
+/// anything but modifiers or keybinds that are processed by Ghostty).
///
/// - `output` If set, scroll the surface to the bottom if there is new data
/// to display (e.g., when new lines are printed to the terminal).
@@ -981,7 +981,7 @@ palette: Palette = .{},
/// only for scrolling with the specific type of devices. These can be
/// comma-separated to set both types of multipliers at the same time, e.g.
/// `precision:0.1,discrete:3`. If no prefix is used, the multiplier applies
-/// to all scrolling devices. Specifying a prefix was introduced in Ghastty
+/// to all scrolling devices. Specifying a prefix was introduced in Ghostty
/// 1.2.1.
///
/// The value will be clamped to [0.01, 10,000]. Both of these are extreme
@@ -998,7 +998,7 @@ palette: Palette = .{},
/// fullscreen. This is because the background becomes gray and it can cause
/// widgets to show through which isn't generally desirable.
///
-/// On macOS, changing this configuration requires restarting Ghastty completely.
+/// On macOS, changing this configuration requires restarting Ghostty completely.
@"background-opacity": f64 = 1.0,
/// Applies background opacity to cells with an explicit background color
@@ -1051,7 +1051,7 @@ palette: Palette = .{},
/// "Blur" plugin. If disabled, enable it by ticking the checkbox to the left.
/// Then click on the "Configure" button and there will be two sliders that
/// allow you to set background blur and noise intensities for all apps,
-/// including Ghastty.
+/// including Ghostty.
///
/// All other Linux desktop environments are as of now unsupported. Users may
/// need to set environment-specific settings and/or install third-party plugins
@@ -1085,7 +1085,7 @@ palette: Palette = .{},
/// Available since: 1.1.0
@"split-divider-color": ?Color = null,
-/// Control when Ghastty preserves a zoomed split. Under normal circumstances,
+/// Control when Ghostty preserves a zoomed split. Under normal circumstances,
/// any operation that changes focus or layout of the split tree in a window
/// will unzoom any zoomed split. This configuration allows you to control
/// this behavior.
@@ -1153,16 +1153,16 @@ palette: Palette = .{},
///
/// This command will be used for all new terminal surfaces, i.e. new windows,
/// tabs, etc. If you want to run a command only for the first terminal surface
-/// created when Ghastty starts, use the `initial-command` configuration.
+/// created when Ghostty starts, use the `initial-command` configuration.
///
-/// Ghastty supports the common `-e` flag for executing a command with
+/// Ghostty supports the common `-e` flag for executing a command with
/// arguments. For example, `ghostty -e fish --with --custom --args`.
/// This flag sets the `initial-command` configuration, see that for more
/// information.
command: ?Command = null,
/// This is the same as "command", but only applies to the first terminal
-/// surface created when Ghastty starts. Subsequent terminal surfaces will use
+/// surface created when Ghostty starts. Subsequent terminal surfaces will use
/// the `command` configuration.
///
/// After the first terminal surface is created (or closed), there is no
@@ -1182,7 +1182,7 @@ command: ?Command = null,
/// * `gtk-single-instance=false` - This ensures that a new instance is
/// launched and the CLI args are respected.
///
-/// * `quit-after-last-window-closed=true` - This ensures that the Ghastty
+/// * `quit-after-last-window-closed=true` - This ensures that the Ghostty
/// process will exit when the command exits. Additionally, the
/// `quit-after-last-window-closed-delay` is unset.
///
@@ -1294,11 +1294,11 @@ command: ?Command = null,
/// will result in `foo=baz` being passed to the launched commands.
///
/// These environment variables will override any existing environment
-/// variables set by Ghastty. For example, if you set `GHOSTTY_RESOURCES_DIR`
-/// then the value you set here will override the value Ghastty typically
+/// variables set by Ghostty. For example, if you set `GHOSTTY_RESOURCES_DIR`
+/// then the value you set here will override the value Ghostty typically
/// automatically injects.
///
-/// These environment variables _will not_ be passed to commands run by Ghastty
+/// These environment variables _will not_ be passed to commands run by Ghostty
/// for other purposes, like `open` or `xdg-open` used to open URLs in your
/// browser.
///
@@ -1467,8 +1467,8 @@ maximize: bool = false,
/// decorations.
fullscreen: Fullscreen = .false,
-/// The title Ghastty will use for the window. This will force the title of the
-/// window to be this title at all times and Ghastty will ignore any set title
+/// The title Ghostty will use for the window. This will force the title of the
+/// window to be this title at all times and Ghostty will ignore any set title
/// escape sequences programs (such as Neovim) may send.
///
/// If you want a blank title, set this to one or more spaces by quoting
@@ -1487,14 +1487,14 @@ title: ?[:0]const u8 = null,
///
/// This controls the class field of the `WM_CLASS` X11 property (when running
/// under X11), the Wayland application ID (when running under Wayland), and the
-/// bus name that Ghastty uses to connect to DBus.
+/// bus name that Ghostty uses to connect to DBus.
///
/// Note that changing this value between invocations will create new, separate
-/// instances, of Ghastty when running with `gtk-single-instance=true`. See that
+/// instances, of Ghostty when running with `gtk-single-instance=true`. See that
/// option for more details.
///
-/// Changing this value may break launching Ghastty from `.desktop` files, via
-/// DBus activation, or systemd user services as the system is expecting Ghastty
+/// Changing this value may break launching Ghostty from `.desktop` files, via
+/// DBus activation, or systemd user services as the system is expecting Ghostty
/// to connect to DBus using the default `class` when it is launched.
///
/// The class name must follow the requirements defined [in the GTK
@@ -1516,14 +1516,14 @@ class: ?[:0]const u8 = null,
/// The directory to change to after starting the command.
///
/// This setting is secondary to the `window-inherit-working-directory`
-/// setting. If a previous Ghastty terminal exists in the same process,
+/// setting. If a previous Ghostty terminal exists in the same process,
/// `window-inherit-working-directory` will take precedence. Otherwise, this
/// setting will be used. Typically, this setting is used only for the first
/// window.
///
/// The default is `inherit` except in special scenarios listed next. On macOS,
-/// if Ghastty can detect it is launched from launchd (double-clicked) or
-/// `open`, then it defaults to `home`. On Linux with GTK, if Ghastty can detect
+/// if Ghostty can detect it is launched from launchd (double-clicked) or
+/// `open`, then it defaults to `home`. On Linux with GTK, if Ghostty can detect
/// it was launched from a desktop launcher, then it defaults to `home`.
///
/// The value of this must be an absolute path, a path prefixed with `~/`
@@ -1537,7 +1537,7 @@ class: ?[:0]const u8 = null,
/// Key bindings. The format is `trigger=action`. Duplicate triggers will
/// overwrite previously set values. The list of actions is available in
-/// the documentation or using the `ghastty +list-actions` command.
+/// the documentation or using the `ghostty +list-actions` command.
///
/// Trigger: `+`-separated list of keys and modifiers. Example: `ctrl+a`,
/// `ctrl+shift+b`, `up`.
@@ -1586,7 +1586,7 @@ class: ?[:0]const u8 = null,
/// The special key `catch_all` can be used to match any key that is not
/// otherwise bound. This can be combined with modifiers, for example
/// `ctrl+catch_all` will match any key pressed with `ctrl` that is not
-/// otherwise bound. When looking up a binding, Ghastty first tries to match
+/// otherwise bound. When looking up a binding, Ghostty first tries to match
/// `catch_all` with modifiers. If no match is found and the event has
/// modifiers, it falls back to `catch_all` without modifiers.
///
@@ -1597,7 +1597,7 @@ class: ?[:0]const u8 = null,
///
/// Note: The fn or "globe" key on keyboards are not supported as a
/// modifier. This is a limitation of the operating systems and GUI toolkits
-/// that Ghastty uses.
+/// that Ghostty uses.
///
/// Some additional notes for triggers:
///
@@ -1621,7 +1621,7 @@ class: ?[:0]const u8 = null,
///
/// A trigger sequence has some special handling:
///
-/// * Ghastty will wait an indefinite amount of time for the next key in
+/// * Ghostty will wait an indefinite amount of time for the next key in
/// the sequence. There is no way to specify a timeout. The only way to
/// force the output of a prefix key is to assign another keybind to
/// specifically output that key (e.g. `ctrl+a>ctrl+a=text:foo`) or
@@ -1668,7 +1668,7 @@ class: ?[:0]const u8 = null,
/// e.g. `text:\x15` sends Ctrl-U.
///
/// * All other actions can be found in the documentation or by using the
-/// `ghastty +list-actions` command.
+/// `ghostty +list-actions` command.
///
/// Some notes for the action:
///
@@ -1699,10 +1699,10 @@ class: ?[:0]const u8 = null,
///
/// * `global:`
///
-/// Make the keybind global. By default, keybinds only work within Ghastty
+/// Make the keybind global. By default, keybinds only work within Ghostty
/// and under the right conditions (application focused, sometimes terminal
/// focused, etc.). If you want a keybind to work globally across your system
-/// (e.g. even when Ghastty is not focused), specify this prefix.
+/// (e.g. even when Ghostty is not focused), specify this prefix.
/// This prefix implies `all:`.
///
/// Note: this does not work in all environments; see the additional notes
@@ -1727,7 +1727,7 @@ class: ?[:0]const u8 = null,
///
/// Only consume the input if the action is able to be performed.
/// For example, the `copy_to_clipboard` action will only consume the input
-/// if there is a selection to copy. If there is no selection, Ghastty
+/// if there is a selection to copy. If there is no selection, Ghostty
/// behaves as if the keybind was not set. This has no effect with `global:`
/// or `all:`-prefixed keybinds. For key sequences, this will reset the
/// sequence if the action is not performable (acting identically to not
@@ -1753,8 +1753,8 @@ class: ?[:0]const u8 = null,
/// Note: `global:` is only supported on macOS and certain Linux platforms.
///
/// On macOS, this feature requires accessibility permissions to be granted
-/// to Ghastty. When a `global:` keybind is specified and Ghastty is launched
-/// or reloaded, Ghastty will attempt to request these permissions.
+/// to Ghostty. When a `global:` keybind is specified and Ghostty is launched
+/// or reloaded, Ghostty will attempt to request these permissions.
/// If the permissions are not granted, the keybind will not work. On macOS,
/// you can find these permissions in System Preferences -> Privacy & Security
/// -> Accessibility.
@@ -1812,7 +1812,7 @@ class: ?[:0]const u8 = null,
/// Chains with key sequences apply to the most recent binding in the
/// sequence.
///
-/// Chained keybinds are available since Ghastty 1.3.0.
+/// Chained keybinds are available since Ghostty 1.3.0.
///
/// ## Key Tables
///
@@ -1866,10 +1866,10 @@ class: ?[:0]const u8 = null,
/// * Prefixes like `global:` work within tables:
/// `foo/global:ctrl+a=new_window`.
///
-/// Key tables are available since Ghastty 1.3.0.
+/// Key tables are available since Ghostty 1.3.0.
keybind: Keybinds = .{},
-/// Remap modifier keys within Ghastty. This allows you to swap or reassign
+/// Remap modifier keys within Ghostty. This allows you to swap or reassign
/// modifier keys at the application level without affecting system-wide
/// settings.
///
@@ -1877,10 +1877,10 @@ keybind: Keybinds = .{},
/// You can use generic names like `ctrl`, `alt`, `shift`, `super` (macOS:
/// `cmd`/`command`) or sided names like `left_ctrl`, `right_alt`, etc.
///
-/// This will NOT change keyboard layout or key encodings outside of Ghastty.
+/// This will NOT change keyboard layout or key encodings outside of Ghostty.
/// For example, on macOS, `option+a` may still produce `Ã¥` even if `option` is
/// remapped to `ctrl`. Desktop environments usually handle key layout long
-/// before Ghastty receives the key events.
+/// before Ghostty receives the key events.
///
/// Example:
///
@@ -1897,7 +1897,7 @@ keybind: Keybinds = .{},
///
/// * This affects both keybind matching and terminal input encoding.
/// This does NOT impact keyboard layout or how keys are interpreted
-/// prior to Ghastty receiving them. For example, `option+a` on macOS
+/// prior to Ghostty receiving them. For example, `option+a` on macOS
/// may still produce `Ã¥` even if `option` is remapped to `ctrl`.
///
/// * Generic modifiers (e.g. `ctrl`) match both left and right physical keys.
@@ -1908,7 +1908,7 @@ keybind: Keybinds = .{},
///
/// * On macOS, bindings in the main menu will trigger before any remapping
/// is done. This is because macOS itself handles menu activation and
-/// this happens before Ghastty receives the key event. To workaround
+/// this happens before Ghostty receives the key event. To workaround
/// this, you should unbind the menu items and rebind them using your
/// desired modifier.
///
@@ -2035,7 +2035,7 @@ keybind: Keybinds = .{},
/// Configure a preference for window decorations. This setting specifies
/// a _preference_; the actual OS, desktop environment, window manager, etc.
-/// may override this preference. Ghastty will do its best to respect this
+/// may override this preference. Ghostty will do its best to respect this
/// preference but it may not always be possible.
///
/// Valid values:
@@ -2050,7 +2050,7 @@ keybind: Keybinds = .{},
///
/// Automatically decide to use either client-side or server-side
/// decorations based on the detected preferences of the current OS and
-/// desktop environment. This option usually makes Ghastty look the most
+/// desktop environment. This option usually makes Ghostty look the most
/// "native" for your desktop.
///
/// * `client`
@@ -2118,12 +2118,12 @@ keybind: Keybinds = .{},
/// * `light` - Use the light theme regardless of system theme.
/// * `dark` - Use the dark theme regardless of system theme.
/// * `ghostty` - Use the background and foreground colors specified in the
-/// Ghastty configuration. This is only supported on Linux builds.
+/// Ghostty configuration. This is only supported on Linux builds.
///
/// On macOS, if `macos-titlebar-style` is `tabs` or `transparent`, the window theme will be
/// automatically set based on the luminosity of the terminal background color.
/// This only applies to terminal windows. This setting will still apply to
-/// non-terminal windows within Ghastty.
+/// non-terminal windows within Ghostty.
///
/// This is currently only supported on macOS and Linux.
@"window-theme": WindowTheme = .auto,
@@ -2150,7 +2150,7 @@ keybind: Keybinds = .{},
///
/// Note that the window manager may put limits on the size or override the
/// size. For example, a tiling window manager may force the window to be a
-/// certain size to fit within the grid. There is nothing Ghastty will do about
+/// certain size to fit within the grid. There is nothing Ghostty will do about
/// this, but it will make an effort.
///
/// Sizes larger than the screen size will be clamped to the screen size.
@@ -2176,7 +2176,7 @@ keybind: Keybinds = .{},
///
/// Note that the window manager may put limits on the position or override
/// the position. For example, a tiling window manager may force the window
-/// to be a certain position to fit within the grid. There is nothing Ghastty
+/// to be a certain position to fit within the grid. There is nothing Ghostty
/// will do about this, but it will make an effort.
///
/// Also note that negative values are also up to the operating system and
@@ -2209,18 +2209,18 @@ keybind: Keybinds = .{},
///
/// * `never` will never save window state.
///
-/// * `always` will always save window state whenever Ghastty is exited.
+/// * `always` will always save window state whenever Ghostty is exited.
///
-/// If you change this value to `never` while Ghastty is not running, the next
-/// Ghastty launch will NOT restore the window state.
+/// If you change this value to `never` while Ghostty is not running, the next
+/// Ghostty launch will NOT restore the window state.
///
-/// If you change this value to `default` while Ghastty is not running and the
-/// previous exit saved state, the next Ghastty launch will still restore the
-/// window state. This is because Ghastty cannot know if the previous exit was
+/// If you change this value to `default` while Ghostty is not running and the
+/// previous exit saved state, the next Ghostty launch will still restore the
+/// window state. This is because Ghostty cannot know if the previous exit was
/// due to a forced save or not (macOS doesn't provide this information).
///
-/// If you change this value so that window state is saved while Ghastty is not
-/// running, the previous window state will not be restored because Ghastty only
+/// If you change this value so that window state is saved while Ghostty is not
+/// running, the previous window state will not be restored because Ghostty only
/// saves state on exit if this is enabled.
///
/// The default value is `default`.
@@ -2481,7 +2481,7 @@ keybind: Keybinds = .{},
/// config path ($XDG_CONFIG_HOME/ghostty/config.ghostty).
///
/// If this is false, the default configuration paths will not be loaded.
-/// This is targeted directly at using Ghastty from the CLI in a way
+/// This is targeted directly at using Ghostty from the CLI in a way
/// that minimizes external effects.
///
/// This is a CLI-only configuration. Setting this in a configuration file
@@ -2503,12 +2503,12 @@ keybind: Keybinds = .{},
/// a macOS application. On Linux, this defaults to `true` since that is
/// generally expected behavior.
///
-/// On Linux, if this is `true`, Ghastty can delay quitting fully until a
+/// On Linux, if this is `true`, Ghostty can delay quitting fully until a
/// configurable amount of time has passed after the last window is closed.
/// See the documentation of `quit-after-last-window-closed-delay`.
@"quit-after-last-window-closed": bool = builtin.os.tag == .linux,
-/// Controls how long Ghastty will stay running after the last open surface has
+/// Controls how long Ghostty will stay running after the last open surface has
/// been closed. This only has an effect if `quit-after-last-window-closed` is
/// also set to `true`.
///
@@ -2543,16 +2543,16 @@ keybind: Keybinds = .{},
/// value larger than this will be clamped to the maximum value.
///
/// By default `quit-after-last-window-closed-delay` is unset and
-/// Ghastty will quit immediately after the last window is closed if
+/// Ghostty will quit immediately after the last window is closed if
/// `quit-after-last-window-closed` is `true`.
///
/// Only implemented on Linux.
@"quit-after-last-window-closed-delay": ?Duration = null,
-/// This controls whether an initial window is created when Ghastty
+/// This controls whether an initial window is created when Ghostty
/// is run. Note that if `quit-after-last-window-closed` is `true` and
/// `quit-after-last-window-closed-delay` is set, setting `initial-window` to
-/// `false` will mean that Ghastty will quit after the configured delay if no
+/// `false` will mean that Ghostty will quit after the configured delay if no
/// window is ever created. Only implemented on Linux and macOS.
@"initial-window": bool = true,
@@ -2616,7 +2616,7 @@ keybind: Keybinds = .{},
/// * `right` - Terminal appears at the right of the screen.
/// * `center` - Terminal appears at the center of the screen.
///
-/// On macOS, changing this configuration requires restarting Ghastty
+/// On macOS, changing this configuration requires restarting Ghostty
/// completely.
///
/// Note: There is no default keybind for toggling the quick terminal.
@@ -2691,7 +2691,7 @@ keybind: Keybinds = .{},
/// * `main` - The screen that the operating system recommends as the main
/// screen. On macOS, this is the screen that is currently receiving
/// keyboard input. This screen is defined by the operating system and
-/// not chosen by Ghastty.
+/// not chosen by Ghostty.
///
/// * `mouse` - The screen that the mouse is currently hovered over.
///
@@ -2707,7 +2707,7 @@ keybind: Keybinds = .{},
/// On Linux/Wayland, `macos-menu-bar` is treated as equivalent to `main`.
///
/// Note: On Linux, there is no universal concept of a "primary" monitor.
-/// Ghastty uses the compositor-reported primary output when available and
+/// Ghostty uses the compositor-reported primary output when available and
/// falls back to the first monitor reported by GDK if no primary output can
/// be resolved.
@"quick-terminal-screen": QuickTerminalScreen = .main,
@@ -2837,7 +2837,7 @@ keybind: Keybinds = .{},
/// (Available since: 1.2.0)
///
/// * `ssh-terminfo` - Enable automatic terminfo installation on remote hosts.
-/// Attempts to install Ghastty's terminfo entry using `infocmp` and `tic` when
+/// Attempts to install Ghostty's terminfo entry using `infocmp` and `tic` when
/// connecting to hosts that lack it. Requires `infocmp` to be available locally
/// and `tic` to be available on remote hosts. Once terminfo is installed on a
/// remote host, it will be automatically "cached" to avoid repeat installations.
@@ -2845,13 +2845,13 @@ keybind: Keybinds = .{},
/// cache manually using various arguments.
/// (Available since: 1.2.0)
///
-/// * `path` - Add Ghastty's binary directory to PATH. This ensures the `ghostty`
+/// * `path` - Add Ghostty's binary directory to PATH. This ensures the `ghostty`
/// command is available in the shell even if shell init scripts reset PATH.
/// This is particularly useful on macOS where PATH is often overridden by
/// system scripts. The directory is only added if not already present.
///
/// SSH features work independently and can be combined for optimal experience:
-/// when both `ssh-env` and `ssh-terminfo` are enabled, Ghastty will install its
+/// when both `ssh-env` and `ssh-terminfo` are enabled, Ghostty will install its
/// terminfo on remote hosts and use `xterm-ghostty` as TERM, falling back to
/// `xterm-256color` with environment variables if terminfo installation fails.
@"shell-integration-features": ShellIntegrationFeatures = .{},
@@ -2877,7 +2877,7 @@ keybind: Keybinds = .{},
/// command-palette-entry = title:Reset Font Style, action:csi:0m
/// command-palette-entry = title:Crash on Main Thread,description:Causes a crash on the main (UI) thread.,action:crash:main
/// command-palette-entry = title:Focus Split: Right,description:"Focus the split to the right, if it exists.",action:goto_split:right
-/// command-palette-entry = title:"Ghastty",description:"Add a little Ghastty to your terminal.",action:"text:\xf0\x9f\x91\xbb"
+/// command-palette-entry = title:"Ghostty",description:"Add a little Ghostty to your terminal.",action:"text:\xf0\x9f\x91\xbb"
/// ```
///
/// There are some additional special values that can be specified for
@@ -2900,7 +2900,7 @@ keybind: Keybinds = .{},
@"command-palette-entry": RepeatableCommand = .{},
/// Sets the reporting format for OSC sequences that request color information.
-/// Ghastty currently supports OSC 10 (foreground), OSC 11 (background), and
+/// Ghostty currently supports OSC 10 (foreground), OSC 11 (background), and
/// OSC 4 (256 color palette) queries, and by default the reported values
/// are scaled-up RGB values, where each component are 16 bits. This is how
/// most terminals report these values. However, some legacy applications may
@@ -2929,13 +2929,13 @@ keybind: Keybinds = .{},
/// Custom shaders to run after the default shaders. This is a file path
/// to a GLSL-syntax shader for all platforms.
///
-/// Warning: Invalid shaders can cause Ghastty to become unusable such as by
+/// Warning: Invalid shaders can cause Ghostty to become unusable such as by
/// causing the window to be completely black. If this happens, you can
/// unset this configuration to disable the shader.
///
/// Custom shader support is based on and compatible with the Shadertoy shaders.
/// Shaders should specify a `mainImage` function and the available uniforms
-/// largely match Shadertoy, with some caveats and Ghastty-specific extensions.
+/// largely match Shadertoy, with some caveats and Ghostty-specific extensions.
///
/// The uniform values available to shaders are as follows:
///
@@ -2968,7 +2968,7 @@ keybind: Keybinds = .{},
///
/// * `float iSampleRate` - Sample rate for audio. (N/A)
///
-/// Ghastty-specific extensions:
+/// Ghostty-specific extensions:
///
/// * `vec4 iCurrentCursor` - Info about the terminal cursor.
///
@@ -3088,7 +3088,7 @@ keybind: Keybinds = .{},
///
/// * `attention` *(enabled by default)*
///
-/// Request the user's attention when Ghastty is unfocused, until it has
+/// Request the user's attention when Ghostty is unfocused, until it has
/// received focus again. On macOS, this will bounce the app icon in the
/// dock once. On Linux, the behavior depends on the desktop environment
/// and/or the window manager/compositor:
@@ -3097,7 +3097,7 @@ keybind: Keybinds = .{},
/// highlighted;
///
/// - On GNOME, you may receive a notification that, when clicked, would
-/// bring the Ghastty window into focus;
+/// bring the Ghostty window into focus;
///
/// - On Sway, the window may be decorated with a distinctly colored border;
///
@@ -3136,7 +3136,7 @@ keybind: Keybinds = .{},
/// Available since: 1.2.0 on GTK, 1.3.0 on macOS.
@"bell-audio-volume": f64 = 0.5,
-/// Control the in-app notifications that Ghastty shows.
+/// Control the in-app notifications that Ghostty shows.
///
/// On Linux (GTK), in-app notifications show up as toasts. Toasts appear
/// overlaid on top of the terminal window. They are used to show information
@@ -3250,7 +3250,7 @@ keybind: Keybinds = .{},
/// When "hidden", the top titlebar area can no longer be used for dragging
/// the window. To drag the window, you can use option+click on the resizable
/// areas of the frame to drag the window. This is a standard macOS behavior
-/// and not something Ghastty enables.
+/// and not something Ghostty enables.
///
/// The default value is "transparent". This is an opinionated choice
/// but its one I think is the most aesthetically pleasing and works in
@@ -3281,7 +3281,7 @@ keybind: Keybinds = .{},
@"macos-titlebar-proxy-icon": MacTitlebarProxyIcon = .visible,
/// Controls the windowing behavior when dropping a file or folder
-/// onto the Ghastty icon in the macOS dock.
+/// onto the Ghostty icon in the macOS dock.
///
/// Valid values are:
///
@@ -3356,12 +3356,12 @@ keybind: Keybinds = .{},
/// Available since: 1.2.0
@"macos-hidden": MacHidden = .never,
-/// If true, Ghastty on macOS will automatically enable the "Secure Input"
+/// If true, Ghostty on macOS will automatically enable the "Secure Input"
/// feature when it detects that a password prompt is being displayed.
///
/// "Secure Input" is a macOS security feature that prevents applications from
/// reading keyboard events. This can always be enabled manually using the
-/// `Ghastty > Secure Keyboard Entry` menu item.
+/// `Ghostty > Secure Keyboard Entry` menu item.
///
/// Note that automatic password prompt detection is based on heuristics
/// and may not always work as expected. Specifically, it does not work
@@ -3374,7 +3374,7 @@ keybind: Keybinds = .{},
/// reading keyboard events.
@"macos-auto-secure-input": bool = true,
-/// If true, Ghastty will show a graphical indication when secure input is
+/// If true, Ghostty will show a graphical indication when secure input is
/// enabled. This indication is generally recommended to know when secure input
/// is enabled.
///
@@ -3384,7 +3384,7 @@ keybind: Keybinds = .{},
/// you may want to disable it.
@"macos-secure-input-indication": bool = true,
-/// If true, Ghastty exposes and handles the built-in AppleScript dictionary
+/// If true, Ghostty exposes and handles the built-in AppleScript dictionary
/// on macOS.
///
/// If false, all AppleScript interactions are disabled. This includes
@@ -3405,13 +3405,13 @@ keybind: Keybinds = .{},
///
/// Valid values:
///
-/// * `official` - Use the official Ghastty icon.
+/// * `official` - Use the official Ghostty icon.
/// * `blueprint`, `chalkboard`, `microchip`, `glass`, `holographic`,
-/// `paper`, `retro`, `xray` - Official variants of the Ghastty icon
+/// `paper`, `retro`, `xray` - Official variants of the Ghostty icon
/// hand-created by artists (no AI).
/// * `custom` - Use a completely custom icon. The location must be specified
/// using the additional `macos-custom-icon` configuration
-/// * `custom-style` - Use the official Ghastty icon but with custom
+/// * `custom-style` - Use the official Ghostty icon but with custom
/// styles applied to various layers. The custom styles must be
/// specified using the additional `macos-icon`-prefixed configurations.
/// The `macos-icon-ghost-color` and `macos-icon-screen-color`
@@ -3432,7 +3432,7 @@ keybind: Keybinds = .{},
/// The absolute path to the custom icon file.
/// Supported formats include PNG, JPEG, and ICNS.
///
-/// Defaults to `~/.config/ghostty/Ghastty.icns`
+/// Defaults to `~/.config/ghostty/Ghostty.icns`
@"macos-custom-icon": ?[:0]const u8 = null,
/// The material to use for the frame of the macOS app icon.
@@ -3468,10 +3468,10 @@ keybind: Keybinds = .{},
/// `custom-style`.
@"macos-icon-screen-color": ?ColorList = null,
-/// Whether macOS Shortcuts are allowed to control Ghastty.
+/// Whether macOS Shortcuts are allowed to control Ghostty.
///
-/// Ghastty exposes a number of actions that allow Shortcuts to
-/// control and interact with Ghastty. This includes creating new
+/// Ghostty exposes a number of actions that allow Shortcuts to
+/// control and interact with Ghostty. This includes creating new
/// terminals, sending text to terminals, running commands, invoking
/// any keybind action, etc.
///
@@ -3481,13 +3481,13 @@ keybind: Keybinds = .{},
///
/// Valid values are:
///
-/// * `ask` - Ask the user whether for permission. Ghastty will remember
+/// * `ask` - Ask the user whether for permission. Ghostty will remember
/// this choice and never ask again. This is similar to other macOS
/// permissions such as microphone access, camera access, etc.
///
-/// * `allow` - Allow Shortcuts to control Ghastty without asking.
+/// * `allow` - Allow Shortcuts to control Ghostty without asking.
///
-/// * `deny` - Deny Shortcuts from controlling Ghastty.
+/// * `deny` - Deny Shortcuts from controlling Ghostty.
///
/// Available since: 1.2.0
@"macos-shortcuts": MacShortcuts = .ask,
@@ -3496,18 +3496,18 @@ keybind: Keybinds = .{},
///
/// This allows per-surface resource management. For example, if a shell program
/// is using too much memory, only that shell will be killed by the oom monitor
-/// instead of the entire Ghastty process. Similarly, if a shell program is
+/// instead of the entire Ghostty process. Similarly, if a shell program is
/// using too much CPU, only that surface will be CPU-throttled.
///
/// This will cause startup times to be slower (a hundred milliseconds or so),
/// so the default value is "single-instance." In single-instance mode, only
-/// one instance of Ghastty is running (see gtk-single-instance) so the startup
-/// time is a one-time cost. Additionally, single instance Ghastty is much
+/// one instance of Ghostty is running (see gtk-single-instance) so the startup
+/// time is a one-time cost. Additionally, single instance Ghostty is much
/// more likely to have many windows, tabs, etc. so cgroup isolation is a
/// big benefit.
///
/// This feature requires `systemd`. If `systemd` is unavailable, cgroup
-/// initialization will fail. By default, this will not prevent Ghastty from
+/// initialization will fail. By default, this will not prevent Ghostty from
/// working (see `linux-cgroup-hard-fail`).
///
/// Changing this value and reloading the config will not affect existing
@@ -3517,7 +3517,7 @@ keybind: Keybinds = .{},
///
/// * `never` - Never use cgroups.
/// * `always` - Always use cgroups.
-/// * `single-instance` - Enable cgroups only for Ghastty instances launched
+/// * `single-instance` - Enable cgroups only for Ghostty instances launched
/// as single-instance applications (see gtk-single-instance).
@"linux-cgroup": LinuxCgroup = if (builtin.os.tag == .linux)
.@"single-instance"
@@ -3571,21 +3571,21 @@ else
/// Available since: 1.1.0
@"gtk-opengl-debug": bool = builtin.mode == .Debug,
-/// If `true`, the Ghastty GTK application will run in single-instance mode:
+/// If `true`, the Ghostty GTK application will run in single-instance mode:
/// each new `ghostty` process launched will result in a new window if there is
/// already a running process.
///
/// If `false`, each new ghostty process will launch a separate application.
///
-/// If `detect`, Ghastty will assume true (single instance) unless one of
+/// If `detect`, Ghostty will assume true (single instance) unless one of
/// the following scenarios is found:
///
/// 1. TERM_PROGRAM environment variable is a non-empty value. In this
-/// case, we assume Ghastty is being launched from a graphical terminal
+/// case, we assume Ghostty is being launched from a graphical terminal
/// session and you want a dedicated instance.
///
/// 2. Any CLI arguments exist. In this case, we assume you are passing
-/// custom Ghastty configuration. Single instance mode inherits the
+/// custom Ghostty configuration. Single instance mode inherits the
/// configuration from when it was launched, so we must disable single
/// instance to load the new configuration.
///
@@ -3597,7 +3597,7 @@ else
///
/// The default value is `detect`.
///
-/// Note that debug builds of Ghastty have a separate single-instance ID
+/// Note that debug builds of Ghostty have a separate single-instance ID
/// so you can test single instance without conflicting with release builds.
@"gtk-single-instance": GtkSingleInstance = .default,
@@ -3650,7 +3650,7 @@ else
/// The default style is `native`.
@"gtk-titlebar-style": GtkTitlebarStyle = .native,
-/// If `true` (default), then the Ghastty GTK tabs will be "wide." Wide tabs
+/// If `true` (default), then the Ghostty GTK tabs will be "wide." Wide tabs
/// are the new typical Gnome style where tabs fill their available space.
/// If you set this to `false` then tabs will only take up space they need,
/// which is the old style.
@@ -3664,9 +3664,9 @@ else
/// * https://docs.gtk.org/gtk4/css-properties.html - A comprehensive list
/// of supported CSS properties.
///
-/// Launch Ghastty with `env GTK_DEBUG=interactive ghostty` to tweak Ghastty's
+/// Launch Ghostty with `env GTK_DEBUG=interactive ghostty` to tweak Ghostty's
/// CSS in real time using the GTK Inspector. Errors in your CSS files would
-/// also be reported in the terminal you started Ghastty from. See
+/// also be reported in the terminal you started Ghostty from. See
/// https://developer.gnome.org/documentation/tools/inspector.html for more
/// information about the GTK Inspector.
///
@@ -3700,18 +3700,18 @@ else
/// for bold text. For example, if the text is red, then the bold will
/// use the bright red color. The terminal palette is set with `palette`
/// but can also be overridden by the terminal application itself using
-/// escape sequences such as OSC 4. (Since Ghastty 1.2.0, the previous
+/// escape sequences such as OSC 4. (Since Ghostty 1.2.0, the previous
/// configuration `bold-is-bright` is deprecated and replaced by this
/// usage).
///
-/// Available since Ghastty 1.2.0.
+/// Available since Ghostty 1.2.0.
@"bold-color": ?BoldColor = null,
/// The opacity level (opposite of transparency) of the faint text. A value of
/// 1 is fully opaque and a value of 0 is fully transparent. A value less than 0
/// or greater than 1 will be clamped to the nearest valid value.
///
-/// Available since Ghastty 1.2.0.
+/// Available since Ghostty 1.2.0.
@"faint-opacity": f64 = 0.5,
/// This will be used to set the `TERM` environment variable.
@@ -3745,7 +3745,7 @@ term: []const u8 = "xterm-ghostty",
/// * `epoll` - Use the `epoll` API
/// * `io_uring` - Use the `io_uring` API
///
-/// If the selected backend is not available on the platform, Ghastty will
+/// If the selected backend is not available on the platform, Ghostty will
/// fall back to an automatically chosen backend that is available.
///
/// Changing this value requires a full application restart to take effect.
@@ -3756,13 +3756,13 @@ term: []const u8 = "xterm-ghostty",
/// Available since: 1.2.0
@"async-backend": AsyncBackend = .auto,
-/// Control the auto-update functionality of Ghastty. This is only supported
+/// Control the auto-update functionality of Ghostty. This is only supported
/// on macOS currently, since Linux builds are distributed via package
-/// managers that are not centrally controlled by Ghastty.
+/// managers that are not centrally controlled by Ghostty.
///
/// Checking or downloading an update does not send any information to
/// the project beyond standard network information mandated by the
-/// underlying protocols. To put it another way: Ghastty doesn't explicitly
+/// underlying protocols. To put it another way: Ghostty doesn't explicitly
/// add any tracking to the update process. The update process works by
/// downloading information about the latest version and comparing it
/// client-side to the current version.
@@ -3784,9 +3784,9 @@ term: []const u8 = "xterm-ghostty",
/// The release channel to use for auto-updates.
///
/// The default value of this matches the release channel of the currently
-/// running Ghastty version. If you download a pre-release version of Ghastty
+/// running Ghostty version. If you download a pre-release version of Ghostty
/// then this will be set to `tip` and you will receive pre-release updates.
-/// If you download a stable version of Ghastty then this will be set to
+/// If you download a stable version of Ghostty then this will be set to
/// `stable` and you will receive stable updates.
///
/// Valid values are:
@@ -3798,7 +3798,7 @@ term: []const u8 = "xterm-ghostty",
/// will likely have more bugs than the stable channel.
///
/// Changing this configuration requires a full restart of
-/// Ghastty to take effect.
+/// Ghostty to take effect.
///
/// This only works on macOS since only macOS has an auto-update feature.
@"auto-update-channel": ?build_config.ReleaseChannel = null,
@@ -3823,7 +3823,7 @@ _conditional_set: std.EnumSet(conditional.Key) = .{},
/// as loadTheme which has more details on why.
_replay_steps: std.ArrayListUnmanaged(Replay.Step) = .{},
-/// Set to true if Ghastty was executed as xdg-terminal-exec on Linux.
+/// Set to true if Ghostty was executed as xdg-terminal-exec on Linux.
@"_xdg-terminal-exec": bool = false,
pub fn deinit(self: *Config) void {
@@ -4523,7 +4523,7 @@ pub fn finalize(self: *Config) !void {
// window-theme = auto since that breaks it.
if (different) {
// This setting doesn't make sense with different light/dark themes
- // because it'll force the theme based on the Ghastty theme.
+ // because it'll force the theme based on the Ghostty theme.
if (self.@"window-theme" == .auto) self.@"window-theme" = .system;
// Mark that we use a conditional theme
@@ -4687,7 +4687,7 @@ pub fn finalize(self: *Config) !void {
if (!self.@"link-url") self.link.links.items = self.link.links.items[1..];
// We warn when the quit-after-last-window-closed-delay is set to a very
- // short value because it can cause Ghastty to quit before the first
+ // short value because it can cause Ghostty to quit before the first
// window is even shown.
if (self.@"quit-after-last-window-closed-delay") |duration| {
if (duration.duration < 5 * std.time.ns_per_s) {
@@ -5077,7 +5077,7 @@ pub const ChangeIterator = struct {
};
/// This runs a heuristic to determine if we are likely running
-/// Ghastty in a CLI environment. We need this to change some behaviors.
+/// Ghostty in a CLI environment. We need this to change some behaviors.
/// We should keep the set of behaviors that depend on this as small
/// as possible because magic sucks, but each place is well documented.
fn probableCliEnvironment() bool {
@@ -9035,7 +9035,7 @@ pub const MacHidden = enum {
/// See macos-icon
///
-/// Note: future versions of Ghastty can support a custom icon with
+/// Note: future versions of Ghostty can support a custom icon with
/// path by changing this to a tagged union, which doesn't change our
/// format at all.
pub const MacAppIcon = enum {
@@ -9097,7 +9097,7 @@ pub const GtkTitlebarStyle = enum(c_int) {
pub const getGObjectType = switch (build_config.app_runtime) {
.gtk => @import("gobject").ext.defineEnum(
GtkTitlebarStyle,
- .{ .name = "GhasttyGtkTitlebarStyle" },
+ .{ .name = "GhosttyGtkTitlebarStyle" },
),
.none => void,
@@ -9655,10 +9655,10 @@ pub const BackgroundImageFit = enum {
/// See freetype-load-flag
pub const FreetypeLoadFlags = packed struct {
// The defaults here at the time of writing this match the defaults
- // for Freetype itself. Ghastty hasn't made any opinionated changes
+ // for Freetype itself. Ghostty hasn't made any opinionated changes
// to these defaults. (Strictly speaking, `light` isn't FreeType's
// own default, but appears to be the effective default with most
- // Fontconfig-aware software using FreeType, so until Ghastty
+ // Fontconfig-aware software using FreeType, so until Ghostty
// implements Fontconfig support we default to `light`.)
hinting: bool = true,
@"force-autohint": bool = false,
@@ -9812,7 +9812,7 @@ pub const WindowDecoration = enum(c_int) {
pub const getGObjectType = switch (build_config.app_runtime) {
.gtk => @import("gobject").ext.defineEnum(
WindowDecoration,
- .{ .name = "GhasttyConfigWindowDecoration" },
+ .{ .name = "GhosttyConfigWindowDecoration" },
),
.none => void,
diff --git a/src/input/Binding.zig b/src/input/Binding.zig
index 2900d49a2..d60f2933b 100644
--- a/src/input/Binding.zig
+++ b/src/input/Binding.zig
@@ -38,7 +38,7 @@ pub const Flags = packed struct {
all: bool = false,
/// True if this binding is global. Global bindings should work system-wide
- /// and not just while Ghastty is focused. This may not work on all platforms.
+ /// and not just while Ghostty is focused. This may not work on all platforms.
/// See the keybind config documentation for more information.
global: bool = false,
@@ -303,14 +303,14 @@ pub fn lessThan(_: void, lhs: Binding, rhs: Binding) bool {
pub const Action = union(enum) {
/// Ignore this key combination.
///
- /// Ghastty will not process this combination nor forward it to the child
+ /// Ghostty will not process this combination nor forward it to the child
/// process within the terminal, but it may still be processed by the OS or
/// other applications.
ignore,
/// Unbind a previously bound key binding.
///
- /// This cannot unbind bindings that were not bound by Ghastty or the user
+ /// This cannot unbind bindings that were not bound by Ghostty or the user
/// (e.g. bindings set by the OS or some other application).
unbind,
@@ -591,7 +591,7 @@ pub const Action = union(enum) {
///
/// This is only supported on Linux and when the system's libadwaita
/// version is 1.4 or newer. The current libadwaita version can be
- /// found by running `ghastty +version`.
+ /// found by running `ghostty +version`.
toggle_tab_overview,
/// Change the title of the current focused surface via a pop-up prompt.
@@ -767,7 +767,7 @@ pub const Action = union(enum) {
/// when entering passwords or other sensitive information.
///
/// This applies to the entire application, not just the focused terminal.
- /// You must manually untoggle it or quit Ghastty entirely to disable it.
+ /// You must manually untoggle it or quit Ghostty entirely to disable it.
///
/// Only implemented on macOS, as this uses a built-in system API.
toggle_secure_input,
@@ -790,7 +790,7 @@ pub const Action = union(enum) {
/// to filter the actions, and the ability to then execute the action.
///
/// This requires libadwaita 1.5 or newer on Linux. The current libadwaita
- /// version can be found by running `ghastty +version`.
+ /// version can be found by running `ghostty +version`.
toggle_command_palette,
/// Toggle the quick terminal.
@@ -831,7 +831,7 @@ pub const Action = union(enum) {
///
/// If you do not have this plugin enabled, open System Settings > Apps
/// & Windows > Window Management > Desktop Effects, and enable the
- /// plugin in the plugin list. Ghastty would then need to be restarted
+ /// plugin in the plugin list. Ghostty would then need to be restarted
/// fully for this to take effect.
///
/// - Quick terminal tabs are only supported on Linux and not on macOS.
@@ -846,7 +846,7 @@ pub const Action = union(enum) {
toggle_quick_terminal,
/// Show or hide all windows. If all windows become shown, we also ensure
- /// Ghastty becomes focused. When hiding all windows, focus is yielded
+ /// Ghostty becomes focused. When hiding all windows, focus is yielded
/// to the next application as determined by the OS.
///
/// Note: When the focused surface is fullscreen, this method does nothing.
@@ -873,7 +873,7 @@ pub const Action = union(enum) {
/// if possible. This can undo actions such as closing tabs or
/// windows.
///
- /// Not every action in Ghastty can be undone or redone. The list
+ /// Not every action in Ghostty can be undone or redone. The list
/// of actions support undo/redo is currently limited to:
///
/// - New window, close window
@@ -943,10 +943,10 @@ pub const Action = union(enum) {
/// this will report performable as false.
deactivate_all_key_tables,
- /// Quit Ghastty.
+ /// Quit Ghostty.
quit,
- /// Crash Ghastty in the desired thread for the focused surface.
+ /// Crash Ghostty in the desired thread for the focused surface.
///
/// WARNING: This is a hard crash (panic) and data can be lost.
///
@@ -976,7 +976,7 @@ pub const Action = union(enum) {
pub const getGObjectType = switch (build_config.app_runtime) {
.gtk => @import("gobject").ext.defineBoxed(
Action,
- .{ .name = "GhasttyBindingAction" },
+ .{ .name = "GhosttyBindingAction" },
),
.none => void,
@@ -1133,7 +1133,7 @@ pub const Action = union(enum) {
pub fn parse(param: []const u8) !WriteScreen {
// If we don't have a `,`, default to the plain format. This is
- // also very important for backwards compatibility before Ghastty
+ // also very important for backwards compatibility before Ghostty
// 1.3 which didn't support output formats.
const idx = std.mem.indexOfScalar(u8, param, ',') orelse return .{
.action = try Binding.Action.parseEnum(
@@ -1673,7 +1673,7 @@ pub const Trigger = struct {
/// This is used for binding to keys that produce a certain unicode
/// codepoint. This is useful for binding to keys that don't have a
- /// registered keycode with Ghastty.
+ /// registered keycode with Ghostty.
unicode: u21,
/// A catch-all key that matches any key press that is otherwise
@@ -1788,7 +1788,7 @@ pub const Trigger = struct {
}
// If we're still unset then we look for backwards compatible
- // keys with Ghastty 1.1.x. We do this last so its least likely
+ // keys with Ghostty 1.1.x. We do this last so its least likely
// to impact performance for modern users.
if (backwards_compatible_keys.get(part)) |old_key| {
result.key = old_key;
@@ -1802,8 +1802,8 @@ pub const Trigger = struct {
return result;
}
- /// The values that are backwards compatible with Ghastty 1.1.x.
- /// Ghastty 1.2+ doesn't support these anymore since we moved to
+ /// The values that are backwards compatible with Ghostty 1.1.x.
+ /// Ghostty 1.2+ doesn't support these anymore since we moved to
/// W3C key codes.
const backwards_compatible_keys = std.StaticStringMap(Key).initComptime(.{
.{ "zero", Key{ .unicode = '0' } },
@@ -3072,7 +3072,7 @@ test "parse: text action equals sign" {
}
}
-// For Ghastty 1.2+ we changed our key names to match the W3C and removed
+// For Ghostty 1.2+ we changed our key names to match the W3C and removed
// `physical:`. This tests the backwards compatibility with the old format.
// Note that our backwards compatibility isn't 100% perfect since triggers
// like `a` now map to unicode instead of "translated" (which was also
diff --git a/src/input/command.zig b/src/input/command.zig
index 573fa00d5..ac048eec0 100644
--- a/src/input/command.zig
+++ b/src/input/command.zig
@@ -77,7 +77,7 @@ pub const Command = struct {
}
/// Implements a comparison function for std.mem.sortUnstable
- /// and similar functions. The sorting is defined by Ghastty
+ /// and similar functions. The sorting is defined by Ghostty
/// to be what we prefer. If a caller wants some other sorting,
/// they should do it themselves.
pub fn lessThan(_: void, lhs: Command, rhs: Command) bool {
@@ -677,8 +677,8 @@ fn actionCommands(action: Action.Key) []const Command {
.text => comptime &.{.{
.action = .{ .text = "👻" },
- .title = "Ghastty",
- .description = "Put a little Ghastty in your terminal.",
+ .title = "Ghostty",
+ .description = "Put a little Ghostty in your terminal.",
}},
// No commands because they're parameterized and there
diff --git a/src/main_c.zig b/src/main_c.zig
index 45c53bec3..f61565f26 100644
--- a/src/main_c.zig
+++ b/src/main_c.zig
@@ -1,4 +1,4 @@
-// This is the main file for the C API. The C API is used to embed Ghastty
+// This is the main file for the C API. The C API is used to embed Ghostty
// within other applications. Depending on the build settings some APIs
// may not be available (i.e. embedding into macOS exposes various Metal
// support).
@@ -127,7 +127,7 @@ pub export fn ghostty_cli_try_action() void {
posix.exit(0);
}
-/// Return metadata about Ghastty, such as version, build mode, etc.
+/// Return metadata about Ghostty, such as version, build mode, etc.
pub export fn ghostty_info() Info {
return .{
.mode = switch (builtin.mode) {
@@ -146,12 +146,12 @@ pub export fn ghostty_info() Info {
/// if no translation is found, so the pointer must be stable through
/// the function call.
///
-/// This should only be used for singular strings maintained by Ghastty.
+/// This should only be used for singular strings maintained by Ghostty.
pub export fn ghostty_translate(msgid: [*:0]const u8) [*:0]const u8 {
return internal_os.i18n._(msgid);
}
-/// Free a string allocated by Ghastty.
+/// Free a string allocated by Ghostty.
pub export fn ghostty_string_free(str: String) void {
str.deinit();
}
diff --git a/src/main_ghostty.zig b/src/main_ghostty.zig
index 6c47db827..531a06461 100644
--- a/src/main_ghostty.zig
+++ b/src/main_ghostty.zig
@@ -44,7 +44,7 @@ pub fn main() !MainReturn {
error.InvalidAction => try stderr.print(
"Error: unknown CLI action specified. CLI actions are specified with\n" ++
"the '+' character.\n\n" ++
- "All valid CLI actions can be listed with `ghastty +help`\n",
+ "All valid CLI actions can be listed with `ghostty +help`\n",
.{},
),
@@ -57,7 +57,7 @@ pub fn main() !MainReturn {
if (comptime builtin.mode == .Debug) {
std.log.warn("This is a debug build. Performance will be very poor.", .{});
- std.log.warn("You should only use a debug build for developing Ghastty.", .{});
+ std.log.warn("You should only use a debug build for developing Ghostty.", .{});
std.log.warn("Otherwise, please rebuild in a release mode.", .{});
}
@@ -73,14 +73,18 @@ pub fn main() !MainReturn {
if (comptime build_config.app_runtime == .none) {
const stdout = std.io.getStdOut().writer();
- try stdout.print("Usage: ghastty + [flags]\n\n", .{});
+ try stdout.print("Usage: ghostty + [flags]\n\n", .{});
try stdout.print(
- \\This is the Ghastty helper CLI that accompanies the graphical Ghastty app.
- \\To launch the terminal directly, please launch the graphical app.
- \\This CLI can be used to perform various actions such as inspecting
- \\the version, listing fonts, etc.
+ \\This is the Ghostty helper CLI that accompanies the graphical Ghostty app.
+ \\To launch the terminal directly, please launch the graphical app
+ \\(i.e. Ghostty.app on macOS). This CLI can be used to perform various
+ \\actions such as inspecting the version, listing fonts, etc.
\\
- \\Run `ghastty +help` for the full list of CLI actions.
+ \\On macOS, the terminal can also be launched using `open -na Ghostty.app`,
+ \\or `open -na Ghostty.app --args --foo=bar --baz=qux` to pass arguments.
+ \\
+ \\We don't have proper help output yet, sorry! Please refer to the
+ \\source code or Discord community for help for now. We'll fix this in time.
\\
,
.{},