From 93debc439ccc87e8dee82d73c49a693a368b0685 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Fri, 5 Sep 2025 10:07:36 +0200 Subject: [PATCH] gtk: the Future is Now --- .github/workflows/test.yml | 14 +++++++------- AGENTS.md | 2 +- CODEOWNERS | 2 +- src/apprt.zig | 8 ++++---- src/apprt/action.zig | 2 +- src/apprt/{gtk-ng.zig => gtk.zig} | 10 +++++----- src/apprt/{gtk-ng => gtk}/App.zig | 0 src/apprt/{gtk-ng => gtk}/Surface.zig | 0 src/apprt/{gtk-ng => gtk}/adw_version.zig | 0 src/apprt/{gtk-ng => gtk}/build/blueprint.zig | 0 src/apprt/{gtk-ng => gtk}/build/gresource.zig | 4 ++-- src/apprt/{gtk-ng => gtk}/cgroup.zig | 0 src/apprt/{gtk-ng => gtk}/class.zig | 0 src/apprt/{gtk-ng => gtk}/class/application.zig | 0 .../class/clipboard_confirmation_dialog.zig | 0 .../class/close_confirmation_dialog.zig | 0 .../{gtk-ng => gtk}/class/command_palette.zig | 0 src/apprt/{gtk-ng => gtk}/class/config.zig | 0 .../{gtk-ng => gtk}/class/config_errors_dialog.zig | 0 src/apprt/{gtk-ng => gtk}/class/debug_warning.zig | 0 src/apprt/{gtk-ng => gtk}/class/dialog.zig | 0 .../{gtk-ng => gtk}/class/global_shortcuts.zig | 0 src/apprt/{gtk-ng => gtk}/class/imgui_widget.zig | 0 .../{gtk-ng => gtk}/class/inspector_widget.zig | 0 .../{gtk-ng => gtk}/class/inspector_window.zig | 0 src/apprt/{gtk-ng => gtk}/class/resize_overlay.zig | 0 src/apprt/{gtk-ng => gtk}/class/split_tree.zig | 0 src/apprt/{gtk-ng => gtk}/class/surface.zig | 0 .../{gtk-ng => gtk}/class/surface_child_exited.zig | 0 .../{gtk-ng => gtk}/class/surface_title_dialog.zig | 0 src/apprt/{gtk-ng => gtk}/class/tab.zig | 0 src/apprt/{gtk-ng => gtk}/class/window.zig | 0 src/apprt/{gtk-ng => gtk}/css/style-dark.css | 0 src/apprt/{gtk-ng => gtk}/css/style-hc-dark.css | 0 src/apprt/{gtk-ng => gtk}/css/style-hc.css | 0 src/apprt/{gtk-ng => gtk}/css/style.css | 0 src/apprt/{gtk-ng => gtk}/ext.zig | 0 src/apprt/{gtk-ng => gtk}/ext/actions.zig | 0 src/apprt/{gtk-ng => gtk}/gtk_version.zig | 0 src/apprt/{gtk-ng => gtk}/ipc/DBus.zig | 0 src/apprt/{gtk-ng => gtk}/ipc/new_window.zig | 0 src/apprt/{gtk-ng => gtk}/key.zig | 0 .../ui/1.0/clipboard-confirmation-dialog.blp | 0 .../ui/1.2/close-confirmation-dialog.blp | 0 .../ui/1.2/config-errors-dialog.blp | 0 src/apprt/{gtk-ng => gtk}/ui/1.2/debug-warning.blp | 0 .../{gtk-ng => gtk}/ui/1.2/resize-overlay.blp | 0 src/apprt/{gtk-ng => gtk}/ui/1.2/surface.blp | 0 src/apprt/{gtk-ng => gtk}/ui/1.3/debug-warning.blp | 0 .../ui/1.3/surface-child-exited.blp | 0 .../ui/1.4/clipboard-confirmation-dialog.blp | 0 .../{gtk-ng => gtk}/ui/1.5/command-palette.blp | 0 src/apprt/{gtk-ng => gtk}/ui/1.5/imgui-widget.blp | 0 .../{gtk-ng => gtk}/ui/1.5/inspector-widget.blp | 0 .../{gtk-ng => gtk}/ui/1.5/inspector-window.blp | 0 .../{gtk-ng => gtk}/ui/1.5/split-tree-split.blp | 0 src/apprt/{gtk-ng => gtk}/ui/1.5/split-tree.blp | 0 .../ui/1.5/surface-title-dialog.blp | 0 src/apprt/{gtk-ng => gtk}/ui/1.5/tab.blp | 0 src/apprt/{gtk-ng => gtk}/ui/1.5/window.blp | 0 src/apprt/{gtk-ng => gtk}/weak_ref.zig | 0 src/apprt/{gtk-ng => gtk}/winproto.zig | 0 src/apprt/{gtk-ng => gtk}/winproto/noop.zig | 0 src/apprt/{gtk-ng => gtk}/winproto/wayland.zig | 0 src/apprt/{gtk-ng => gtk}/winproto/x11.zig | 0 src/apprt/structs.zig | 6 +++--- src/apprt/surface.zig | 2 +- src/build/GhosttyI18n.zig | 8 ++++---- src/build/SharedDeps.zig | 12 ++++++------ src/cli/version.zig | 6 +++--- src/config/Config.zig | 4 ++-- src/datastruct/split_tree.zig | 2 +- src/font/face.zig | 2 +- src/input/Binding.zig | 2 +- src/renderer/OpenGL.zig | 8 ++++---- src/terminal/mouse_shape.zig | 2 +- valgrind.supp | 8 ++++---- 77 files changed, 52 insertions(+), 52 deletions(-) rename src/apprt/{gtk-ng.zig => gtk.zig} (51%) rename src/apprt/{gtk-ng => gtk}/App.zig (100%) rename src/apprt/{gtk-ng => gtk}/Surface.zig (100%) rename src/apprt/{gtk-ng => gtk}/adw_version.zig (100%) rename src/apprt/{gtk-ng => gtk}/build/blueprint.zig (100%) rename src/apprt/{gtk-ng => gtk}/build/gresource.zig (98%) rename src/apprt/{gtk-ng => gtk}/cgroup.zig (100%) rename src/apprt/{gtk-ng => gtk}/class.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/application.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/clipboard_confirmation_dialog.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/close_confirmation_dialog.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/command_palette.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/config.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/config_errors_dialog.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/debug_warning.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/dialog.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/global_shortcuts.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/imgui_widget.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/inspector_widget.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/inspector_window.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/resize_overlay.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/split_tree.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/surface.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/surface_child_exited.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/surface_title_dialog.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/tab.zig (100%) rename src/apprt/{gtk-ng => gtk}/class/window.zig (100%) rename src/apprt/{gtk-ng => gtk}/css/style-dark.css (100%) rename src/apprt/{gtk-ng => gtk}/css/style-hc-dark.css (100%) rename src/apprt/{gtk-ng => gtk}/css/style-hc.css (100%) rename src/apprt/{gtk-ng => gtk}/css/style.css (100%) rename src/apprt/{gtk-ng => gtk}/ext.zig (100%) rename src/apprt/{gtk-ng => gtk}/ext/actions.zig (100%) rename src/apprt/{gtk-ng => gtk}/gtk_version.zig (100%) rename src/apprt/{gtk-ng => gtk}/ipc/DBus.zig (100%) rename src/apprt/{gtk-ng => gtk}/ipc/new_window.zig (100%) rename src/apprt/{gtk-ng => gtk}/key.zig (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.0/clipboard-confirmation-dialog.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.2/close-confirmation-dialog.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.2/config-errors-dialog.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.2/debug-warning.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.2/resize-overlay.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.2/surface.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.3/debug-warning.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.3/surface-child-exited.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.4/clipboard-confirmation-dialog.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/command-palette.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/imgui-widget.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/inspector-widget.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/inspector-window.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/split-tree-split.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/split-tree.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/surface-title-dialog.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/tab.blp (100%) rename src/apprt/{gtk-ng => gtk}/ui/1.5/window.blp (100%) rename src/apprt/{gtk-ng => gtk}/weak_ref.zig (100%) rename src/apprt/{gtk-ng => gtk}/winproto.zig (100%) rename src/apprt/{gtk-ng => gtk}/winproto/noop.zig (100%) rename src/apprt/{gtk-ng => gtk}/winproto/wayland.zig (100%) rename src/apprt/{gtk-ng => gtk}/winproto/x11.zig (100%) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9ec50e494..a2b2a84aa 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -22,7 +22,7 @@ jobs: - build-macos-matrix - build-windows - test - - test-gtk-ng + - test-gtk - test-sentry-linux - test-macos - pinact @@ -491,14 +491,14 @@ jobs: - name: test run: nix develop -c zig build -Dapp-runtime=none test - - name: Test GTK-NG Build - run: nix develop -c zig build -Dapp-runtime=gtk-ng -Demit-docs -Demit-webdata + - name: Test GTK Build + run: nix develop -c zig build -Dapp-runtime=gtk -Demit-docs -Demit-webdata # This relies on the cache being populated by the commands above. - name: Test System Build run: nix develop -c zig build --system ${ZIG_GLOBAL_CACHE_DIR}/p - test-gtk-ng: + test-gtk: strategy: fail-fast: false matrix: @@ -534,7 +534,7 @@ jobs: run: | nix develop -c \ zig build \ - -Dapp-runtime=gtk-ng \ + -Dapp-runtime=gtk \ -Dgtk-x11=${{ matrix.x11 }} \ -Dgtk-wayland=${{ matrix.wayland }} \ test @@ -543,7 +543,7 @@ jobs: run: | nix develop -c \ zig build \ - -Dapp-runtime=gtk-ng \ + -Dapp-runtime=gtk \ -Dgtk-x11=${{ matrix.x11 }} \ -Dgtk-wayland=${{ matrix.wayland }} @@ -1011,7 +1011,7 @@ jobs: cd $GITHUB_WORKSPACE zig build test - - name: Build GTK-NG app runtime + - name: Build GTK app runtime shell: freebsd {0} run: | cd $GITHUB_WORKSPACE diff --git a/AGENTS.md b/AGENTS.md index 00faaf81c..2e90fd94e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,7 +15,7 @@ A file for [guiding coding agents](https://agents.md/). - Shared Zig core: `src/` - C API: `include/ghostty.h` - macOS app: `macos/` -- GTK (Linux and FreeBSD) app: `src/apprt/gtk-ng` +- GTK (Linux and FreeBSD) app: `src/apprt/gtk` ## macOS App diff --git a/CODEOWNERS b/CODEOWNERS index 0f7e18ed8..2a93ce671 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -118,7 +118,7 @@ /pkg/harfbuzz/ @ghostty-org/font # GTK -/src/apprt/gtk-ng/ @ghostty-org/gtk +/src/apprt/gtk/ @ghostty-org/gtk /src/os/cgroup.zig @ghostty-org/gtk /src/os/flatpak.zig @ghostty-org/gtk /dist/linux/ @ghostty-org/gtk diff --git a/src/apprt.zig b/src/apprt.zig index cbde56312..ccb1251a2 100644 --- a/src/apprt.zig +++ b/src/apprt.zig @@ -16,7 +16,7 @@ const structs = @import("apprt/structs.zig"); pub const action = @import("apprt/action.zig"); pub const ipc = @import("apprt/ipc.zig"); -pub const gtk_ng = @import("apprt/gtk-ng.zig"); +pub const gtk = @import("apprt/gtk.zig"); pub const none = @import("apprt/none.zig"); pub const browser = @import("apprt/browser.zig"); pub const embedded = @import("apprt/embedded.zig"); @@ -42,7 +42,7 @@ pub const SurfaceSize = structs.SurfaceSize; pub const runtime = switch (build_config.artifact) { .exe => switch (build_config.app_runtime) { .none => none, - .@"gtk-ng" => gtk_ng, + .gtk => gtk, }, .lib => embedded, .wasm_module => browser, @@ -60,13 +60,13 @@ pub const Runtime = enum { /// GTK4. Rich windowed application. This uses a full GObject-based /// approach to building the application. - @"gtk-ng", + 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-ng", + .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. diff --git a/src/apprt/action.zig b/src/apprt/action.zig index fdd328a24..fbcc92805 100644 --- a/src/apprt/action.zig +++ b/src/apprt/action.zig @@ -542,7 +542,7 @@ pub const InitialSize = extern struct { /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineBoxed( + .gtk => @import("gobject").ext.defineBoxed( InitialSize, .{ .name = "GhosttyApprtInitialSize" }, ), diff --git a/src/apprt/gtk-ng.zig b/src/apprt/gtk.zig similarity index 51% rename from src/apprt/gtk-ng.zig rename to src/apprt/gtk.zig index fe1bac023..212892094 100644 --- a/src/apprt/gtk-ng.zig +++ b/src/apprt/gtk.zig @@ -1,15 +1,15 @@ const internal_os = @import("../os/main.zig"); // The required comptime API for any apprt. -pub const App = @import("gtk-ng/App.zig"); -pub const Surface = @import("gtk-ng/Surface.zig"); +pub const App = @import("gtk/App.zig"); +pub const Surface = @import("gtk/Surface.zig"); pub const resourcesDir = internal_os.resourcesDir; // The exported API, custom for the apprt. -pub const class = @import("gtk-ng/class.zig"); -pub const WeakRef = @import("gtk-ng/weak_ref.zig").WeakRef; +pub const class = @import("gtk/class.zig"); +pub const WeakRef = @import("gtk/weak_ref.zig").WeakRef; test { @import("std").testing.refAllDecls(@This()); - _ = @import("gtk-ng/ext.zig"); + _ = @import("gtk/ext.zig"); } diff --git a/src/apprt/gtk-ng/App.zig b/src/apprt/gtk/App.zig similarity index 100% rename from src/apprt/gtk-ng/App.zig rename to src/apprt/gtk/App.zig diff --git a/src/apprt/gtk-ng/Surface.zig b/src/apprt/gtk/Surface.zig similarity index 100% rename from src/apprt/gtk-ng/Surface.zig rename to src/apprt/gtk/Surface.zig diff --git a/src/apprt/gtk-ng/adw_version.zig b/src/apprt/gtk/adw_version.zig similarity index 100% rename from src/apprt/gtk-ng/adw_version.zig rename to src/apprt/gtk/adw_version.zig diff --git a/src/apprt/gtk-ng/build/blueprint.zig b/src/apprt/gtk/build/blueprint.zig similarity index 100% rename from src/apprt/gtk-ng/build/blueprint.zig rename to src/apprt/gtk/build/blueprint.zig diff --git a/src/apprt/gtk-ng/build/gresource.zig b/src/apprt/gtk/build/gresource.zig similarity index 98% rename from src/apprt/gtk-ng/build/gresource.zig rename to src/apprt/gtk/build/gresource.zig index 3cd385483..1f253fd5e 100644 --- a/src/apprt/gtk-ng/build/gresource.zig +++ b/src/apprt/gtk/build/gresource.zig @@ -14,10 +14,10 @@ pub const app_id = "com.mitchellh.ghostty"; /// The path to the Blueprint files. The folder structure is expected to be /// `{version}/{name}.blp` where `version` is the major and minor /// minimum adwaita version. -pub const ui_path = "src/apprt/gtk-ng/ui"; +pub const ui_path = "src/apprt/gtk/ui"; /// The path to the CSS files. -pub const css_path = "src/apprt/gtk-ng/css"; +pub const css_path = "src/apprt/gtk/css"; /// The possible icon sizes we'll embed into the gresource file. /// If any size doesn't exist then it will be an error. We could diff --git a/src/apprt/gtk-ng/cgroup.zig b/src/apprt/gtk/cgroup.zig similarity index 100% rename from src/apprt/gtk-ng/cgroup.zig rename to src/apprt/gtk/cgroup.zig diff --git a/src/apprt/gtk-ng/class.zig b/src/apprt/gtk/class.zig similarity index 100% rename from src/apprt/gtk-ng/class.zig rename to src/apprt/gtk/class.zig diff --git a/src/apprt/gtk-ng/class/application.zig b/src/apprt/gtk/class/application.zig similarity index 100% rename from src/apprt/gtk-ng/class/application.zig rename to src/apprt/gtk/class/application.zig diff --git a/src/apprt/gtk-ng/class/clipboard_confirmation_dialog.zig b/src/apprt/gtk/class/clipboard_confirmation_dialog.zig similarity index 100% rename from src/apprt/gtk-ng/class/clipboard_confirmation_dialog.zig rename to src/apprt/gtk/class/clipboard_confirmation_dialog.zig diff --git a/src/apprt/gtk-ng/class/close_confirmation_dialog.zig b/src/apprt/gtk/class/close_confirmation_dialog.zig similarity index 100% rename from src/apprt/gtk-ng/class/close_confirmation_dialog.zig rename to src/apprt/gtk/class/close_confirmation_dialog.zig diff --git a/src/apprt/gtk-ng/class/command_palette.zig b/src/apprt/gtk/class/command_palette.zig similarity index 100% rename from src/apprt/gtk-ng/class/command_palette.zig rename to src/apprt/gtk/class/command_palette.zig diff --git a/src/apprt/gtk-ng/class/config.zig b/src/apprt/gtk/class/config.zig similarity index 100% rename from src/apprt/gtk-ng/class/config.zig rename to src/apprt/gtk/class/config.zig diff --git a/src/apprt/gtk-ng/class/config_errors_dialog.zig b/src/apprt/gtk/class/config_errors_dialog.zig similarity index 100% rename from src/apprt/gtk-ng/class/config_errors_dialog.zig rename to src/apprt/gtk/class/config_errors_dialog.zig diff --git a/src/apprt/gtk-ng/class/debug_warning.zig b/src/apprt/gtk/class/debug_warning.zig similarity index 100% rename from src/apprt/gtk-ng/class/debug_warning.zig rename to src/apprt/gtk/class/debug_warning.zig diff --git a/src/apprt/gtk-ng/class/dialog.zig b/src/apprt/gtk/class/dialog.zig similarity index 100% rename from src/apprt/gtk-ng/class/dialog.zig rename to src/apprt/gtk/class/dialog.zig diff --git a/src/apprt/gtk-ng/class/global_shortcuts.zig b/src/apprt/gtk/class/global_shortcuts.zig similarity index 100% rename from src/apprt/gtk-ng/class/global_shortcuts.zig rename to src/apprt/gtk/class/global_shortcuts.zig diff --git a/src/apprt/gtk-ng/class/imgui_widget.zig b/src/apprt/gtk/class/imgui_widget.zig similarity index 100% rename from src/apprt/gtk-ng/class/imgui_widget.zig rename to src/apprt/gtk/class/imgui_widget.zig diff --git a/src/apprt/gtk-ng/class/inspector_widget.zig b/src/apprt/gtk/class/inspector_widget.zig similarity index 100% rename from src/apprt/gtk-ng/class/inspector_widget.zig rename to src/apprt/gtk/class/inspector_widget.zig diff --git a/src/apprt/gtk-ng/class/inspector_window.zig b/src/apprt/gtk/class/inspector_window.zig similarity index 100% rename from src/apprt/gtk-ng/class/inspector_window.zig rename to src/apprt/gtk/class/inspector_window.zig diff --git a/src/apprt/gtk-ng/class/resize_overlay.zig b/src/apprt/gtk/class/resize_overlay.zig similarity index 100% rename from src/apprt/gtk-ng/class/resize_overlay.zig rename to src/apprt/gtk/class/resize_overlay.zig diff --git a/src/apprt/gtk-ng/class/split_tree.zig b/src/apprt/gtk/class/split_tree.zig similarity index 100% rename from src/apprt/gtk-ng/class/split_tree.zig rename to src/apprt/gtk/class/split_tree.zig diff --git a/src/apprt/gtk-ng/class/surface.zig b/src/apprt/gtk/class/surface.zig similarity index 100% rename from src/apprt/gtk-ng/class/surface.zig rename to src/apprt/gtk/class/surface.zig diff --git a/src/apprt/gtk-ng/class/surface_child_exited.zig b/src/apprt/gtk/class/surface_child_exited.zig similarity index 100% rename from src/apprt/gtk-ng/class/surface_child_exited.zig rename to src/apprt/gtk/class/surface_child_exited.zig diff --git a/src/apprt/gtk-ng/class/surface_title_dialog.zig b/src/apprt/gtk/class/surface_title_dialog.zig similarity index 100% rename from src/apprt/gtk-ng/class/surface_title_dialog.zig rename to src/apprt/gtk/class/surface_title_dialog.zig diff --git a/src/apprt/gtk-ng/class/tab.zig b/src/apprt/gtk/class/tab.zig similarity index 100% rename from src/apprt/gtk-ng/class/tab.zig rename to src/apprt/gtk/class/tab.zig diff --git a/src/apprt/gtk-ng/class/window.zig b/src/apprt/gtk/class/window.zig similarity index 100% rename from src/apprt/gtk-ng/class/window.zig rename to src/apprt/gtk/class/window.zig diff --git a/src/apprt/gtk-ng/css/style-dark.css b/src/apprt/gtk/css/style-dark.css similarity index 100% rename from src/apprt/gtk-ng/css/style-dark.css rename to src/apprt/gtk/css/style-dark.css diff --git a/src/apprt/gtk-ng/css/style-hc-dark.css b/src/apprt/gtk/css/style-hc-dark.css similarity index 100% rename from src/apprt/gtk-ng/css/style-hc-dark.css rename to src/apprt/gtk/css/style-hc-dark.css diff --git a/src/apprt/gtk-ng/css/style-hc.css b/src/apprt/gtk/css/style-hc.css similarity index 100% rename from src/apprt/gtk-ng/css/style-hc.css rename to src/apprt/gtk/css/style-hc.css diff --git a/src/apprt/gtk-ng/css/style.css b/src/apprt/gtk/css/style.css similarity index 100% rename from src/apprt/gtk-ng/css/style.css rename to src/apprt/gtk/css/style.css diff --git a/src/apprt/gtk-ng/ext.zig b/src/apprt/gtk/ext.zig similarity index 100% rename from src/apprt/gtk-ng/ext.zig rename to src/apprt/gtk/ext.zig diff --git a/src/apprt/gtk-ng/ext/actions.zig b/src/apprt/gtk/ext/actions.zig similarity index 100% rename from src/apprt/gtk-ng/ext/actions.zig rename to src/apprt/gtk/ext/actions.zig diff --git a/src/apprt/gtk-ng/gtk_version.zig b/src/apprt/gtk/gtk_version.zig similarity index 100% rename from src/apprt/gtk-ng/gtk_version.zig rename to src/apprt/gtk/gtk_version.zig diff --git a/src/apprt/gtk-ng/ipc/DBus.zig b/src/apprt/gtk/ipc/DBus.zig similarity index 100% rename from src/apprt/gtk-ng/ipc/DBus.zig rename to src/apprt/gtk/ipc/DBus.zig diff --git a/src/apprt/gtk-ng/ipc/new_window.zig b/src/apprt/gtk/ipc/new_window.zig similarity index 100% rename from src/apprt/gtk-ng/ipc/new_window.zig rename to src/apprt/gtk/ipc/new_window.zig diff --git a/src/apprt/gtk-ng/key.zig b/src/apprt/gtk/key.zig similarity index 100% rename from src/apprt/gtk-ng/key.zig rename to src/apprt/gtk/key.zig diff --git a/src/apprt/gtk-ng/ui/1.0/clipboard-confirmation-dialog.blp b/src/apprt/gtk/ui/1.0/clipboard-confirmation-dialog.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.0/clipboard-confirmation-dialog.blp rename to src/apprt/gtk/ui/1.0/clipboard-confirmation-dialog.blp diff --git a/src/apprt/gtk-ng/ui/1.2/close-confirmation-dialog.blp b/src/apprt/gtk/ui/1.2/close-confirmation-dialog.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.2/close-confirmation-dialog.blp rename to src/apprt/gtk/ui/1.2/close-confirmation-dialog.blp diff --git a/src/apprt/gtk-ng/ui/1.2/config-errors-dialog.blp b/src/apprt/gtk/ui/1.2/config-errors-dialog.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.2/config-errors-dialog.blp rename to src/apprt/gtk/ui/1.2/config-errors-dialog.blp diff --git a/src/apprt/gtk-ng/ui/1.2/debug-warning.blp b/src/apprt/gtk/ui/1.2/debug-warning.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.2/debug-warning.blp rename to src/apprt/gtk/ui/1.2/debug-warning.blp diff --git a/src/apprt/gtk-ng/ui/1.2/resize-overlay.blp b/src/apprt/gtk/ui/1.2/resize-overlay.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.2/resize-overlay.blp rename to src/apprt/gtk/ui/1.2/resize-overlay.blp diff --git a/src/apprt/gtk-ng/ui/1.2/surface.blp b/src/apprt/gtk/ui/1.2/surface.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.2/surface.blp rename to src/apprt/gtk/ui/1.2/surface.blp diff --git a/src/apprt/gtk-ng/ui/1.3/debug-warning.blp b/src/apprt/gtk/ui/1.3/debug-warning.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.3/debug-warning.blp rename to src/apprt/gtk/ui/1.3/debug-warning.blp diff --git a/src/apprt/gtk-ng/ui/1.3/surface-child-exited.blp b/src/apprt/gtk/ui/1.3/surface-child-exited.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.3/surface-child-exited.blp rename to src/apprt/gtk/ui/1.3/surface-child-exited.blp diff --git a/src/apprt/gtk-ng/ui/1.4/clipboard-confirmation-dialog.blp b/src/apprt/gtk/ui/1.4/clipboard-confirmation-dialog.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.4/clipboard-confirmation-dialog.blp rename to src/apprt/gtk/ui/1.4/clipboard-confirmation-dialog.blp diff --git a/src/apprt/gtk-ng/ui/1.5/command-palette.blp b/src/apprt/gtk/ui/1.5/command-palette.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/command-palette.blp rename to src/apprt/gtk/ui/1.5/command-palette.blp diff --git a/src/apprt/gtk-ng/ui/1.5/imgui-widget.blp b/src/apprt/gtk/ui/1.5/imgui-widget.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/imgui-widget.blp rename to src/apprt/gtk/ui/1.5/imgui-widget.blp diff --git a/src/apprt/gtk-ng/ui/1.5/inspector-widget.blp b/src/apprt/gtk/ui/1.5/inspector-widget.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/inspector-widget.blp rename to src/apprt/gtk/ui/1.5/inspector-widget.blp diff --git a/src/apprt/gtk-ng/ui/1.5/inspector-window.blp b/src/apprt/gtk/ui/1.5/inspector-window.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/inspector-window.blp rename to src/apprt/gtk/ui/1.5/inspector-window.blp diff --git a/src/apprt/gtk-ng/ui/1.5/split-tree-split.blp b/src/apprt/gtk/ui/1.5/split-tree-split.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/split-tree-split.blp rename to src/apprt/gtk/ui/1.5/split-tree-split.blp diff --git a/src/apprt/gtk-ng/ui/1.5/split-tree.blp b/src/apprt/gtk/ui/1.5/split-tree.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/split-tree.blp rename to src/apprt/gtk/ui/1.5/split-tree.blp diff --git a/src/apprt/gtk-ng/ui/1.5/surface-title-dialog.blp b/src/apprt/gtk/ui/1.5/surface-title-dialog.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/surface-title-dialog.blp rename to src/apprt/gtk/ui/1.5/surface-title-dialog.blp diff --git a/src/apprt/gtk-ng/ui/1.5/tab.blp b/src/apprt/gtk/ui/1.5/tab.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/tab.blp rename to src/apprt/gtk/ui/1.5/tab.blp diff --git a/src/apprt/gtk-ng/ui/1.5/window.blp b/src/apprt/gtk/ui/1.5/window.blp similarity index 100% rename from src/apprt/gtk-ng/ui/1.5/window.blp rename to src/apprt/gtk/ui/1.5/window.blp diff --git a/src/apprt/gtk-ng/weak_ref.zig b/src/apprt/gtk/weak_ref.zig similarity index 100% rename from src/apprt/gtk-ng/weak_ref.zig rename to src/apprt/gtk/weak_ref.zig diff --git a/src/apprt/gtk-ng/winproto.zig b/src/apprt/gtk/winproto.zig similarity index 100% rename from src/apprt/gtk-ng/winproto.zig rename to src/apprt/gtk/winproto.zig diff --git a/src/apprt/gtk-ng/winproto/noop.zig b/src/apprt/gtk/winproto/noop.zig similarity index 100% rename from src/apprt/gtk-ng/winproto/noop.zig rename to src/apprt/gtk/winproto/noop.zig diff --git a/src/apprt/gtk-ng/winproto/wayland.zig b/src/apprt/gtk/winproto/wayland.zig similarity index 100% rename from src/apprt/gtk-ng/winproto/wayland.zig rename to src/apprt/gtk/winproto/wayland.zig diff --git a/src/apprt/gtk-ng/winproto/x11.zig b/src/apprt/gtk/winproto/x11.zig similarity index 100% rename from src/apprt/gtk-ng/winproto/x11.zig rename to src/apprt/gtk/winproto/x11.zig diff --git a/src/apprt/structs.zig b/src/apprt/structs.zig index 363b1f63a..89b8c2235 100644 --- a/src/apprt/structs.zig +++ b/src/apprt/structs.zig @@ -39,13 +39,13 @@ pub const Clipboard = enum(Backing) { // Our backing isn't is as small as we can in Zig, but a full // C int if we're binding to C APIs. const Backing = switch (build_config.app_runtime) { - .@"gtk-ng" => c_int, + .gtk => c_int, else => u2, }; /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineEnum( + .gtk => @import("gobject").ext.defineEnum( Clipboard, .{ .name = "GhosttyApprtClipboard" }, ), @@ -74,7 +74,7 @@ pub const ClipboardRequest = union(ClipboardRequestType) { /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineBoxed( + .gtk => @import("gobject").ext.defineBoxed( ClipboardRequest, .{ .name = "GhosttyClipboardRequest" }, ), diff --git a/src/apprt/surface.zig b/src/apprt/surface.zig index e571fc9f8..a4070c668 100644 --- a/src/apprt/surface.zig +++ b/src/apprt/surface.zig @@ -111,7 +111,7 @@ pub const Message = union(enum) { /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng", + .gtk, => @import("gobject").ext.defineBoxed( ChildExited, .{ .name = "GhosttyApprtChildExited" }, diff --git a/src/build/GhosttyI18n.zig b/src/build/GhosttyI18n.zig index 72a553603..324cc94c2 100644 --- a/src/build/GhosttyI18n.zig +++ b/src/build/GhosttyI18n.zig @@ -3,7 +3,7 @@ const GhosttyI18n = @This(); const std = @import("std"); const builtin = @import("builtin"); const Config = @import("Config.zig"); -const gresource = @import("../apprt/gtk-ng/build/gresource.zig"); +const gresource = @import("../apprt/gtk/build/gresource.zig"); const internal_os = @import("../os/main.zig"); const domain = "com.mitchellh.ghostty"; @@ -80,7 +80,7 @@ fn createUpdateStep(b: *std.Build) !*std.Build.Step { inline for (gresource.blueprints) |blp| { const path = std.fmt.comptimePrint( - "src/apprt/gtk-ng/ui/{[major]}.{[minor]}/{[name]s}.blp", + "src/apprt/gtk/ui/{[major]}.{[minor]}/{[name]s}.blp", blp, ); // The arguments to xgettext must be the relative path in the build root @@ -105,7 +105,7 @@ fn createUpdateStep(b: *std.Build) !*std.Build.Step { } var gtk_dir = try b.build_root.handle.openDir( - "src/apprt/gtk-ng", + "src/apprt/gtk", .{ .iterate = true }, ); defer gtk_dir.close(); @@ -138,7 +138,7 @@ fn createUpdateStep(b: *std.Build) !*std.Build.Step { ); for (gtk_files.items) |item| { - const path = b.pathJoin(&.{ "src/apprt/gtk-ng", item }); + const path = b.pathJoin(&.{ "src/apprt/gtk", item }); // The arguments to xgettext must be the relative path in the build root // or the resulting files will contain the absolute path. This will // cause a lot of churn because not everyone has the Ghostty code diff --git a/src/build/SharedDeps.zig b/src/build/SharedDeps.zig index 86390a496..9bec7243b 100644 --- a/src/build/SharedDeps.zig +++ b/src/build/SharedDeps.zig @@ -550,7 +550,7 @@ pub fn add( switch (self.config.app_runtime) { .none => {}, - .@"gtk-ng" => try self.addGtkNg(step), + .gtk => try self.addGtkNg(step), } } @@ -701,11 +701,11 @@ pub fn gtkNgDistResources( resources_c: DistResource, resources_h: DistResource, } { - const gresource = @import("../apprt/gtk-ng/build/gresource.zig"); + const gresource = @import("../apprt/gtk/build/gresource.zig"); const gresource_xml = gresource_xml: { const xml_exe = b.addExecutable(.{ .name = "generate_gresource_xml", - .root_source_file = b.path("src/apprt/gtk-ng/build/gresource.zig"), + .root_source_file = b.path("src/apprt/gtk/build/gresource.zig"), .target = b.graph.host, }); const xml_run = b.addRunArtifact(xml_exe); @@ -713,7 +713,7 @@ pub fn gtkNgDistResources( // Run our blueprint compiler across all of our blueprint files. const blueprint_exe = b.addExecutable(.{ .name = "gtk_blueprint_compiler", - .root_source_file = b.path("src/apprt/gtk-ng/build/blueprint.zig"), + .root_source_file = b.path("src/apprt/gtk/build/blueprint.zig"), .target = b.graph.host, }); blueprint_exe.linkLibC(); @@ -778,11 +778,11 @@ pub fn gtkNgDistResources( return .{ .resources_c = .{ - .dist = "src/apprt/gtk-ng/ghostty_resources.c", + .dist = "src/apprt/gtk/ghostty_resources.c", .generated = resources_c, }, .resources_h = .{ - .dist = "src/apprt/gtk-ng/ghostty_resources.h", + .dist = "src/apprt/gtk/ghostty_resources.h", .generated = resources_h, }, }; diff --git a/src/cli/version.zig b/src/cli/version.zig index 2dd208180..22608fa88 100644 --- a/src/cli/version.zig +++ b/src/cli/version.zig @@ -7,8 +7,8 @@ const internal_os = @import("../os/main.zig"); const xev = @import("../global.zig").xev; const renderer = @import("../renderer.zig"); -const gtk_version = @import("../apprt/gtk-ng/gtk_version.zig"); -const adw_version = @import("../apprt/gtk-ng/adw_version.zig"); +const gtk_version = @import("../apprt/gtk/gtk_version.zig"); +const adw_version = @import("../apprt/gtk/adw_version.zig"); pub const Options = struct {}; @@ -38,7 +38,7 @@ pub fn run(alloc: Allocator) !u8 { try stdout.print(" - font engine : {}\n", .{build_config.font_backend}); try stdout.print(" - renderer : {}\n", .{renderer.Renderer}); try stdout.print(" - libxev : {s}\n", .{@tagName(xev.backend)}); - if (comptime build_config.app_runtime == .@"gtk-ng") { + if (comptime build_config.app_runtime == .gtk) { if (comptime builtin.os.tag == .linux) { const kernel_info = internal_os.getKernelInfo(alloc); defer if (kernel_info) |k| alloc.free(k); diff --git a/src/config/Config.zig b/src/config/Config.zig index cea2c1a28..f9d8fcf7e 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -7149,7 +7149,7 @@ pub const GtkTitlebarStyle = enum(c_int) { tabs, pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineEnum( + .gtk => @import("gobject").ext.defineEnum( GtkTitlebarStyle, .{ .name = "GhosttyGtkTitlebarStyle" }, ), @@ -7717,7 +7717,7 @@ pub const WindowDecoration = enum(c_int) { /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineEnum( + .gtk => @import("gobject").ext.defineEnum( WindowDecoration, .{ .name = "GhosttyConfigWindowDecoration" }, ), diff --git a/src/datastruct/split_tree.zig b/src/datastruct/split_tree.zig index 5cb959af4..28b45ceed 100644 --- a/src/datastruct/split_tree.zig +++ b/src/datastruct/split_tree.zig @@ -1266,7 +1266,7 @@ pub fn SplitTree(comptime V: type) type { /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineBoxed( + .gtk => @import("gobject").ext.defineBoxed( Self, .{ // To get the type name we get the non-qualified type name diff --git a/src/font/face.zig b/src/font/face.zig index 054f542fc..9da3c30f6 100644 --- a/src/font/face.zig +++ b/src/font/face.zig @@ -59,7 +59,7 @@ pub const DesiredSize = struct { /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineBoxed( + .gtk => @import("gobject").ext.defineBoxed( DesiredSize, .{ .name = "GhosttyFontDesiredSize" }, ), diff --git a/src/input/Binding.zig b/src/input/Binding.zig index 77d93e4aa..02feeaa99 100644 --- a/src/input/Binding.zig +++ b/src/input/Binding.zig @@ -744,7 +744,7 @@ pub const Action = union(enum) { /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineBoxed( + .gtk => @import("gobject").ext.defineBoxed( Action, .{ .name = "GhosttyBindingAction" }, ), diff --git a/src/renderer/OpenGL.zig b/src/renderer/OpenGL.zig index 8a1c465e9..e572806d1 100644 --- a/src/renderer/OpenGL.zig +++ b/src/renderer/OpenGL.zig @@ -165,7 +165,7 @@ pub fn surfaceInit(surface: *apprt.Surface) !void { else => @compileError("unsupported app runtime for OpenGL"), // GTK uses global OpenGL context so we load from null. - apprt.gtk_ng, + apprt.gtk, => try prepareContext(null), apprt.embedded => { @@ -200,7 +200,7 @@ pub fn threadEnter(self: *const OpenGL, surface: *apprt.Surface) !void { switch (apprt.runtime) { else => @compileError("unsupported app runtime for OpenGL"), - apprt.gtk_ng => { + apprt.gtk => { // GTK doesn't support threaded OpenGL operations as far as I can // tell, so we use the renderer thread to setup all the state // but then do the actual draws and texture syncs and all that @@ -222,7 +222,7 @@ pub fn threadExit(self: *const OpenGL) void { switch (apprt.runtime) { else => @compileError("unsupported app runtime for OpenGL"), - apprt.gtk_ng => { + apprt.gtk => { // We don't need to do any unloading for GTK because we may // be sharing the global bindings with other windows. }, @@ -237,7 +237,7 @@ pub fn displayRealized(self: *const OpenGL) void { _ = self; switch (apprt.runtime) { - apprt.gtk_ng => prepareContext(null) catch |err| { + apprt.gtk => prepareContext(null) catch |err| { log.warn( "Error preparing GL context in displayRealized, err={}", .{err}, diff --git a/src/terminal/mouse_shape.zig b/src/terminal/mouse_shape.zig index 16434f3f6..23ab215d6 100644 --- a/src/terminal/mouse_shape.zig +++ b/src/terminal/mouse_shape.zig @@ -49,7 +49,7 @@ pub const MouseShape = enum(c_int) { /// Make this a valid gobject if we're in a GTK environment. pub const getGObjectType = switch (build_config.app_runtime) { - .@"gtk-ng" => @import("gobject").ext.defineEnum( + .gtk => @import("gobject").ext.defineEnum( MouseShape, .{ .name = "GhosttyMouseShape" }, ), diff --git a/valgrind.supp b/valgrind.supp index bfc78bcff..eeb395d03 100644 --- a/valgrind.supp +++ b/valgrind.supp @@ -143,8 +143,8 @@ fun:g_main_context_dispatch_unlocked fun:g_main_context_iterate_unlocked.isra.0 fun:g_main_context_iteration - fun:apprt.gtk-ng.class.application.Application.run - fun:apprt.gtk-ng.App.run + fun:apprt.gtk.class.application.Application.run + fun:apprt.gtk.App.run fun:main_ghostty.main fun:callMain fun:callMainWithArgs @@ -177,8 +177,8 @@ fun:g_main_context_dispatch_unlocked fun:g_main_context_iterate_unlocked.isra.0 fun:g_main_context_iteration - fun:apprt.gtk-ng.class.application.Application.run - fun:apprt.gtk-ng.App.run + fun:apprt.gtk.class.application.Application.run + fun:apprt.gtk.App.run fun:main_ghostty.main fun:callMain fun:callMainWithArgs