mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-04-27 03:48:37 +03:00
@ -92,10 +92,10 @@ pub fn build(b: *std.Build) !void {
|
|||||||
"The app runtime to use. Not all values supported on all platforms.",
|
"The app runtime to use. Not all values supported on all platforms.",
|
||||||
) orelse renderer.Impl.default(target.result, wasm_target);
|
) orelse renderer.Impl.default(target.result, wasm_target);
|
||||||
|
|
||||||
config.libadwaita = b.option(
|
config.adwaita = b.option(
|
||||||
bool,
|
bool,
|
||||||
"gtk-libadwaita",
|
"gtk-adwaita",
|
||||||
"Enables the use of libadwaita when using the gtk rendering backend.",
|
"Enables the use of Adwaita when using the GTK rendering backend.",
|
||||||
) orelse true;
|
) orelse true;
|
||||||
|
|
||||||
const conformance = b.option(
|
const conformance = b.option(
|
||||||
@ -1321,7 +1321,7 @@ fn addDeps(
|
|||||||
|
|
||||||
.gtk => {
|
.gtk => {
|
||||||
step.linkSystemLibrary2("gtk4", dynamic_link_opts);
|
step.linkSystemLibrary2("gtk4", dynamic_link_opts);
|
||||||
if (config.libadwaita) step.linkSystemLibrary2("adwaita-1", dynamic_link_opts);
|
if (config.adwaita) step.linkSystemLibrary2("adwaita-1", dynamic_link_opts);
|
||||||
|
|
||||||
{
|
{
|
||||||
const gresource = @import("src/apprt/gtk/gresource.zig");
|
const gresource = @import("src/apprt/gtk/gresource.zig");
|
||||||
|
@ -12,7 +12,7 @@ const Config = @import("../../config.zig").Config;
|
|||||||
/// This must be `inline` so that the comptime check noops conditional
|
/// This must be `inline` so that the comptime check noops conditional
|
||||||
/// paths that are not enabled.
|
/// paths that are not enabled.
|
||||||
pub inline fn enabled(config: *const Config) bool {
|
pub inline fn enabled(config: *const Config) bool {
|
||||||
return build_options.libadwaita and
|
return build_options.adwaita and
|
||||||
config.@"gtk-adwaita";
|
config.@"gtk-adwaita";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ pub fn versionAtLeast(
|
|||||||
comptime minor: u16,
|
comptime minor: u16,
|
||||||
comptime micro: u16,
|
comptime micro: u16,
|
||||||
) bool {
|
) bool {
|
||||||
if (comptime !build_options.libadwaita) return false;
|
if (comptime !build_options.adwaita) return false;
|
||||||
|
|
||||||
// If our header has lower versions than the given version,
|
// If our header has lower versions than the given version,
|
||||||
// we can return false immediately. This prevents us from
|
// we can return false immediately. This prevents us from
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/// Imported C API directly from header files
|
/// Imported C API directly from header files
|
||||||
pub const c = @cImport({
|
pub const c = @cImport({
|
||||||
@cInclude("gtk/gtk.h");
|
@cInclude("gtk/gtk.h");
|
||||||
if (@import("build_options").libadwaita) {
|
if (@import("build_options").adwaita) {
|
||||||
@cInclude("libadwaita-1/adwaita.h");
|
@cInclude("libadwaita-1/adwaita.h");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ const WasmTarget = @import("os/wasm/target.zig").Target;
|
|||||||
pub const BuildConfig = struct {
|
pub const BuildConfig = struct {
|
||||||
version: std.SemanticVersion = .{ .major = 0, .minor = 0, .patch = 0 },
|
version: std.SemanticVersion = .{ .major = 0, .minor = 0, .patch = 0 },
|
||||||
flatpak: bool = false,
|
flatpak: bool = false,
|
||||||
libadwaita: bool = false,
|
adwaita: bool = false,
|
||||||
app_runtime: apprt.Runtime = .none,
|
app_runtime: apprt.Runtime = .none,
|
||||||
renderer: rendererpkg.Impl = .opengl,
|
renderer: rendererpkg.Impl = .opengl,
|
||||||
font_backend: font.Backend = .freetype,
|
font_backend: font.Backend = .freetype,
|
||||||
@ -40,7 +40,7 @@ pub const BuildConfig = struct {
|
|||||||
// We need to break these down individual because addOption doesn't
|
// We need to break these down individual because addOption doesn't
|
||||||
// support all types.
|
// support all types.
|
||||||
step.addOption(bool, "flatpak", self.flatpak);
|
step.addOption(bool, "flatpak", self.flatpak);
|
||||||
step.addOption(bool, "libadwaita", self.libadwaita);
|
step.addOption(bool, "adwaita", self.adwaita);
|
||||||
step.addOption(apprt.Runtime, "app_runtime", self.app_runtime);
|
step.addOption(apprt.Runtime, "app_runtime", self.app_runtime);
|
||||||
step.addOption(font.Backend, "font_backend", self.font_backend);
|
step.addOption(font.Backend, "font_backend", self.font_backend);
|
||||||
step.addOption(rendererpkg.Impl, "renderer", self.renderer);
|
step.addOption(rendererpkg.Impl, "renderer", self.renderer);
|
||||||
@ -67,7 +67,7 @@ pub const BuildConfig = struct {
|
|||||||
return .{
|
return .{
|
||||||
.version = options.app_version,
|
.version = options.app_version,
|
||||||
.flatpak = options.flatpak,
|
.flatpak = options.flatpak,
|
||||||
.libadwaita = options.libadwaita,
|
.adwaita = options.adwaita,
|
||||||
.app_runtime = std.meta.stringToEnum(apprt.Runtime, @tagName(options.app_runtime)).?,
|
.app_runtime = std.meta.stringToEnum(apprt.Runtime, @tagName(options.app_runtime)).?,
|
||||||
.font_backend = std.meta.stringToEnum(font.Backend, @tagName(options.font_backend)).?,
|
.font_backend = std.meta.stringToEnum(font.Backend, @tagName(options.font_backend)).?,
|
||||||
.renderer = std.meta.stringToEnum(rendererpkg.Impl, @tagName(options.renderer)).?,
|
.renderer = std.meta.stringToEnum(rendererpkg.Impl, @tagName(options.renderer)).?,
|
||||||
|
@ -42,7 +42,7 @@ pub fn run(alloc: Allocator) !u8 {
|
|||||||
gtk.gtk_get_minor_version(),
|
gtk.gtk_get_minor_version(),
|
||||||
gtk.gtk_get_micro_version(),
|
gtk.gtk_get_micro_version(),
|
||||||
});
|
});
|
||||||
if (comptime build_options.libadwaita) {
|
if (comptime build_options.adwaita) {
|
||||||
try stdout.print(" - libadwaita : enabled\n", .{});
|
try stdout.print(" - libadwaita : enabled\n", .{});
|
||||||
try stdout.print(" build : {s}\n", .{
|
try stdout.print(" build : {s}\n", .{
|
||||||
gtk.ADW_VERSION_S,
|
gtk.ADW_VERSION_S,
|
||||||
|
@ -940,7 +940,7 @@ keybind: Keybinds = .{},
|
|||||||
/// * `dark` - Use the dark theme regardless of system theme.
|
/// * `dark` - Use the dark theme regardless of system theme.
|
||||||
/// * `ghostty` - Use the background and foreground colors specified in the
|
/// * `ghostty` - Use the background and foreground colors specified in the
|
||||||
/// Ghostty configuration. This is only supported on Linux builds with
|
/// Ghostty configuration. This is only supported on Linux builds with
|
||||||
/// libadwaita and `gtk-adwaita` enabled.
|
/// Adwaita and `gtk-adwaita` enabled.
|
||||||
///
|
///
|
||||||
/// On macOS, if `macos-titlebar-style` is "tabs", the window theme will be
|
/// On macOS, if `macos-titlebar-style` is "tabs", the window theme will be
|
||||||
/// automatically set based on the luminosity of the terminal background color.
|
/// automatically set based on the luminosity of the terminal background color.
|
||||||
@ -1618,12 +1618,12 @@ keybind: Keybinds = .{},
|
|||||||
/// Determines the side of the screen that the GTK tab bar will stick to.
|
/// Determines the side of the screen that the GTK tab bar will stick to.
|
||||||
/// Top, bottom, left, and right are supported. The default is top.
|
/// Top, bottom, left, and right are supported. The default is top.
|
||||||
///
|
///
|
||||||
/// If this option has value `left` or `right` when using `libadwaita`, it falls
|
/// If this option has value `left` or `right` when using Adwaita, it falls
|
||||||
/// back to `top`.
|
/// back to `top`.
|
||||||
@"gtk-tabs-location": GtkTabsLocation = .top,
|
@"gtk-tabs-location": GtkTabsLocation = .top,
|
||||||
|
|
||||||
/// Determines the appearance of the top and bottom bars when using the
|
/// Determines the appearance of the top and bottom bars when using the
|
||||||
/// adwaita tab bar. This requires `gtk-adwaita` to be enabled (it is
|
/// Adwaita tab bar. This requires `gtk-adwaita` to be enabled (it is
|
||||||
/// by default).
|
/// by default).
|
||||||
///
|
///
|
||||||
/// Valid values are:
|
/// Valid values are:
|
||||||
@ -1642,7 +1642,7 @@ keybind: Keybinds = .{},
|
|||||||
/// which is the old style.
|
/// which is the old style.
|
||||||
@"gtk-wide-tabs": bool = true,
|
@"gtk-wide-tabs": bool = true,
|
||||||
|
|
||||||
/// If `true` (default), Ghostty will enable libadwaita theme support. This
|
/// If `true` (default), Ghostty will enable Adwaita theme support. This
|
||||||
/// will make `window-theme` work properly and will also allow Ghostty to
|
/// will make `window-theme` work properly and will also allow Ghostty to
|
||||||
/// properly respond to system theme changes, light/dark mode changing, etc.
|
/// properly respond to system theme changes, light/dark mode changing, etc.
|
||||||
/// This requires a GTK4 desktop with a GTK4 theme.
|
/// This requires a GTK4 desktop with a GTK4 theme.
|
||||||
@ -1653,7 +1653,7 @@ keybind: Keybinds = .{},
|
|||||||
/// expected.
|
/// expected.
|
||||||
///
|
///
|
||||||
/// This configuration only has an effect if Ghostty was built with
|
/// This configuration only has an effect if Ghostty was built with
|
||||||
/// libadwaita support.
|
/// Adwaita support.
|
||||||
@"gtk-adwaita": bool = true,
|
@"gtk-adwaita": bool = true,
|
||||||
|
|
||||||
/// If `true` (default), applications running in the terminal can show desktop
|
/// If `true` (default), applications running in the terminal can show desktop
|
||||||
|
Reference in New Issue
Block a user