From b7791541706859af97c100bd6072dd0bcb137300 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Sun, 6 Oct 2024 01:31:02 +0200 Subject: src/gtk.h: Change icons when Gtk switches to high contrast mode --- src/gtk.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src') diff --git a/src/gtk.h b/src/gtk.h index fc01b3c..4a0c61d 100644 --- a/src/gtk.h +++ b/src/gtk.h @@ -75,18 +75,32 @@ static inline void application_onThemeChanged (GSettings *pSettings, const gchar if (bHighContrast && bDark) { g_object_set (pGtkSettings, "gtk-theme-name", "Default-hc-dark", NULL); + gboolean bExists = g_file_test ("/usr/share/icons/HighContrast/index.theme", G_FILE_TEST_EXISTS); + + if (bExists) + { + g_object_set (pGtkSettings, "gtk-icon-theme-name", "HighContrast", NULL); + } } else if (bHighContrast) { g_object_set (pGtkSettings, "gtk-theme-name", "Default-hc", NULL); + gboolean bExists = g_file_test ("/usr/share/icons/HighContrast/index.theme", G_FILE_TEST_EXISTS); + + if (bExists) + { + g_object_set (pGtkSettings, "gtk-icon-theme-name", "HighContrast", NULL); + } } else if (bDark) { gtk_settings_reset_property (pGtkSettings, "gtk-theme-name"); + gtk_settings_reset_property (pGtkSettings, "gtk-icon-theme-name"); } else { gtk_settings_reset_property (pGtkSettings, "gtk-theme-name"); + gtk_settings_reset_property (pGtkSettings, "gtk-icon-theme-name"); } g_object_set (pGtkSettings, "gtk-application-prefer-dark-theme", bDark, NULL); -- cgit v1.2.3