From 415902fe832a525fe99c38b6afc925655c97ae5f Mon Sep 17 00:00:00 2001 From: Iain H Date: Mon, 23 Dec 2024 19:50:57 -0500 Subject: [PATCH] apprt/gtk: support dark window decorations with GtkWindow Add support for the dark GtkWindow variant when `window-theme` is `dark` or `auto`. --- src/apprt/gtk/App.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/apprt/gtk/App.zig b/src/apprt/gtk/App.zig index 8c42ddf37..042079dd6 100644 --- a/src/apprt/gtk/App.zig +++ b/src/apprt/gtk/App.zig @@ -221,6 +221,9 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { switch (config.@"window-theme") { .system, .light => {}, .dark => { + const settings = c.gtk_settings_get_default(); + c.g_object_set(@ptrCast(@alignCast(settings)), "gtk-application-prefer-dark-theme", true, @as([*c]const u8, null)); + c.gtk_css_provider_load_from_resource( provider, "/com/mitchellh/ghostty/style-dark.css", @@ -234,6 +237,9 @@ pub fn init(core_app: *CoreApp, opts: Options) !App { .auto, .ghostty => { const lum = config.background.toTerminalRGB().perceivedLuminance(); if (lum <= 0.5) { + const settings = c.gtk_settings_get_default(); + c.g_object_set(@ptrCast(@alignCast(settings)), "gtk-application-prefer-dark-theme", true, @as([*c]const u8, null)); + c.gtk_css_provider_load_from_resource( provider, "/com/mitchellh/ghostty/style-dark.css",