aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt/src/apprt/runtime.zig
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-04-04 19:22:04 +0300
committerCan Celik <ogulcancelik@gmail.com>2026-04-05 01:23:06 +0300
commit41dd733ca7123c9ac4bfc6c781697a660e95b052 (patch)
tree3fc91815ca139ef2e0b281bba0abda4ef15175f4 /vendor/libghostty-vt/src/apprt/runtime.zig
parent55c138263e190a1e79d4b997bfb9397306c0ec1f (diff)
feat: finish ghostty pane backend integration
Diffstat (limited to 'vendor/libghostty-vt/src/apprt/runtime.zig')
-rw-r--r--vendor/libghostty-vt/src/apprt/runtime.zig29
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/libghostty-vt/src/apprt/runtime.zig b/vendor/libghostty-vt/src/apprt/runtime.zig
new file mode 100644
index 00000000..1be50353
--- /dev/null
+++ b/vendor/libghostty-vt/src/apprt/runtime.zig
@@ -0,0 +1,29 @@
+const std = @import("std");
+
+/// Runtime is the runtime to use for Ghostty. All runtimes do not provide
+/// equivalent feature sets.
+pub const Runtime = enum {
+ /// Will not produce an executable at all when `zig build` is called.
+ /// This is only useful if you're only interested in the lib only (macOS).
+ none,
+
+ /// GTK4. Rich windowed application. This uses a full GObject-based
+ /// approach to building the application.
+ gtk,
+
+ pub fn default(target: std.Target) Runtime {
+ return switch (target.os.tag) {
+ // The Linux and FreeBSD default is GTK because it is a full
+ // featured application.
+ .linux, .freebsd => .gtk,
+ // Otherwise, we do NONE so we don't create an exe and we create
+ // libghostty. On macOS, Xcode is used to build the app that links
+ // to libghostty.
+ else => .none,
+ };
+ }
+};
+
+test {
+ _ = Runtime;
+}