mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-10-15 06:16:11 +00:00
gtk: add gtk-single-instance setting to allow disabling of it
This is based on our conversation on Discord and adds a setting for GTK that allows disabling the GTK single-instance mode. If this is off, it's possible to start multiple applications from the same release binary. Tested like this: ``` $ zig build -Dapp-runtime=gtk -Doptimize=ReleaseFast && ./zig-out/bin/ghostty --gtk-single-instance=false [... starts new application ...] ``` and ``` $ zig build -Dapp-runtime=gtk -Doptimize=ReleaseFast && ./zig-out/bin/ghostty --gtk-single-instance=true info: ghostty version=0.1.0-main+42a22893 info: runtime=apprt.Runtime.gtk info: font_backend=font.main.Backend.fontconfig_freetype info: dependency harfbuzz=8.0.0 info: dependency fontconfig=21400 info: renderer=renderer.OpenGL info: libxev backend=main.Backend.io_uring info(os): LANG is not valid according to libc, will use en_US.UTF-8 info: reading configuration file path=/home/mrnugget/.config/ghostty/config info(config): default shell source=env value=/usr/bin/zsh (process:49045): GLib-GIO-WARNING **: 13:55:56.116: Your application did not unregister from D-Bus before destruction. Consider using g_application_run(). [exits] ```
This commit is contained in:
@@ -314,6 +314,15 @@ pub const Config = struct {
|
||||
/// This does not work with GLFW builds.
|
||||
@"macos-option-as-alt": OptionAsAlt = .false,
|
||||
|
||||
/// If true (default), then 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.
|
||||
///
|
||||
/// Debug builds of Ghostty have a separate single-instance ID.
|
||||
@"gtk-single-instance": bool = true,
|
||||
|
||||
/// This is set by the CLI parser for deinit.
|
||||
_arena: ?ArenaAllocator = null,
|
||||
|
||||
|
Reference in New Issue
Block a user