[gnome-control-center/mcatanzaro/distributor-logo] info-overview: add build option to specify a dark mode logo variant
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/mcatanzaro/distributor-logo] info-overview: add build option to specify a dark mode logo variant
- Date: Wed, 8 Sep 2021 21:02:18 +0000 (UTC)
commit 515440221961f2244d42a1ab479f1129c674130f
Author: Michael Catanzaro <mcatanzaro gnome org>
Date: Tue Mar 9 16:02:46 2021 -0600
info-overview: add build option to specify a dark mode logo variant
Let's allow distributions to specify a different logo to use when using
a dark GTK theme. This is best-effort only since it relies on the
convention that dark themes must end with "dark" and therefore will fail
for a theme named "midnight" or anything that doesn't match convention.
meson.build | 5 +++++
meson_options.txt | 1 +
panels/info-overview/cc-info-overview-panel.c | 9 +++++++++
3 files changed, 15 insertions(+)
---
diff --git a/meson.build b/meson.build
index edaebeea3..bb0e06d9e 100644
--- a/meson.build
+++ b/meson.build
@@ -54,6 +54,11 @@ distributor_logo = get_option('distributor_logo')
if (distributor_logo != '')
config_h.set_quoted('DISTRIBUTOR_LOGO', distributor_logo,
description: 'Define to absolute path of distributor logo')
+ dark_mode_distributor_logo = get_option('dark_mode_distributor_logo')
+ if (dark_mode_distributor_logo != '')
+ config_h.set_quoted('DARK_MODE_DISTRIBUTOR_LOGO', dark_mode_distributor_logo,
+ description: 'Define to absolute path of distributor logo for use in dark mode')
+ endif
endif
# meson does not support octal values, so it must be handled as a
diff --git a/meson_options.txt b/meson_options.txt
index 93e551373..5305c8606 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -9,3 +9,4 @@ option('wayland', type: 'boolean', value: true, description: 'build with Wayland
option('profile', type: 'combo', choices: ['default','development'], value: 'default')
option('malcontent', type: 'boolean', value: false, description: 'build with malcontent support')
option('distributor_logo', type: 'string', description: 'absolute path to distributor logo for the About
panel')
+option('dark_mode_distributor_logo', type: 'string', description: 'absolute path to distributor logo dark
mode variant')
diff --git a/panels/info-overview/cc-info-overview-panel.c b/panels/info-overview/cc-info-overview-panel.c
index 3db143d80..e3af78894 100644
--- a/panels/info-overview/cc-info-overview-panel.c
+++ b/panels/info-overview/cc-info-overview-panel.c
@@ -880,6 +880,7 @@ cc_info_panel_row_activated_cb (CcInfoOverviewPanel *self,
open_software_update (self);
}
+#if !defined(DISTRIBUTOR_LOGO) || defined(DARK_MODE_DISTRIBUTOR_LOGO)
static gboolean
use_dark_theme (CcInfoOverviewPanel *panel)
{
@@ -897,11 +898,19 @@ use_dark_theme (CcInfoOverviewPanel *panel)
g_object_get (settings, "gtk-theme-name", &theme_name, NULL);
return (theme_name != NULL && g_str_has_suffix (theme_name, "dark")) ? TRUE : FALSE;
}
+#endif
static void
setup_os_logo (CcInfoOverviewPanel *panel)
{
#ifdef DISTRIBUTOR_LOGO
+#ifdef DARK_MODE_DISTRIBUTOR_LOGO
+ if (use_dark_theme (panel))
+ {
+ gtk_image_set_from_file (panel->os_logo, DARK_MODE_DISTRIBUTOR_LOGO);
+ return;
+ }
+#endif
gtk_image_set_from_file (panel->os_logo, DISTRIBUTOR_LOGO);
#else
g_autofree char *logo_name = g_get_os_info ("LOGO");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]