83 lines
3.9 KiB
Diff
83 lines
3.9 KiB
Diff
From 6bc54f101dfaa0db6dd8199d358b311a9a3f35e1 Mon Sep 17 00:00:00 2001
|
|
From: lukefromdc <lukefromdc@hushmail.com>
|
|
Date: Sat, 19 May 2018 17:58:03 -0400
|
|
Subject: [PATCH 07/22] xrandr-applet-popup: allow themes to override monitor
|
|
label colors
|
|
|
|
Use the monitor label colors in the monitor label menuitems by default,
|
|
*Also move the border-width and style definitions to the second cssprovider, as otherwise they are set too late, and scrollbars result from attempted expansion of the popup
|
|
---
|
|
plugins/xrandr/msd-xrandr-manager.c | 28 +++++++++++++++++++---------
|
|
1 file changed, 19 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/plugins/xrandr/msd-xrandr-manager.c b/plugins/xrandr/msd-xrandr-manager.c
|
|
index 58b77f5..5fabe82 100644
|
|
--- a/plugins/xrandr/msd-xrandr-manager.c
|
|
+++ b/plugins/xrandr/msd-xrandr-manager.c
|
|
@@ -1689,12 +1689,11 @@ output_title_label_draw_cb (GtkWidget *widget, cairo_t *cr, gpointer data)
|
|
|
|
color_string = gdk_rgba_to_string (&color);
|
|
|
|
+ /*This can be overriden by themes, check all label:insensitive entries if it does not show up*/
|
|
string = g_string_new(NULL);
|
|
g_string_append (string, ".mate-panel-menu-bar menuitem.xrandr-applet:disabled>box>label{\n");
|
|
- g_string_append (string, "color: black;");
|
|
+ /* g_string_append (string, "color: black;"); Does not work-overridden in all themes*/
|
|
g_string_append (string, "padding-left: 4px; padding-right: 4px;");
|
|
- g_string_append (string, "border-style: inset;");
|
|
- g_string_append (string, "border-width: 1px;");
|
|
g_string_append (string, "border-color: gray;");
|
|
g_string_append (string, "background-color:");
|
|
g_string_append (string, color_string);
|
|
@@ -1708,7 +1707,7 @@ output_title_label_draw_cb (GtkWidget *widget, cairo_t *cr, gpointer data)
|
|
|
|
gtk_style_context_add_provider (context,
|
|
GTK_STYLE_PROVIDER (provider),
|
|
- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
|
+ GTK_STYLE_PROVIDER_PRIORITY_FALLBACK);
|
|
g_object_unref (provider);
|
|
|
|
return FALSE;
|
|
@@ -1770,22 +1769,33 @@ make_menu_item_for_output_title (MsdXrandrManager *manager, MateRROutputInfo *ou
|
|
context = gtk_widget_get_style_context (item);
|
|
gtk_style_context_add_class (context, "xrandr-applet");
|
|
|
|
- /*Disable effects applied to icons in an insensitive menu item*/
|
|
- context = gtk_widget_get_style_context (image);
|
|
+ /*This is NOT overrridden by themes as FALLBACK won't work here
|
|
+ *
|
|
+ *Disable dim/opacity effects applied to icons in an insensitive menu item
|
|
+ *And apply the final label border width and style here
|
|
+ *(style required too because "none" will define zero width)
|
|
+ *before the draw call so label width is defined here
|
|
+ *Draw call is too late and will cause scrollbars to appear from
|
|
+ *delayed expansion of the label
|
|
+ */
|
|
+
|
|
provider = gtk_css_provider_new ();
|
|
gtk_css_provider_load_from_data (provider,
|
|
".mate-panel-menu-bar menuitem.xrandr-applet:disabled>box>image{\n"
|
|
"opacity: 1.0; \n"
|
|
"-gtk-icon-effect: none; \n"
|
|
- "min-height: 36px; \n" /*Use as a spacer so label border does not put scrollbars on popup*/
|
|
+ "}"
|
|
+ ".mate-panel-menu-bar menuitem.xrandr-applet:disabled>box>label{\n"
|
|
+ "border-width: 1px;"
|
|
+ "border-style: inset;"
|
|
"}",
|
|
-1, NULL);
|
|
- gtk_style_context_add_provider (context,
|
|
+ /*Need to handle both the image and the label, so has to be for screen to work*/
|
|
+ gtk_style_context_add_provider_for_screen (gdk_screen_get_default(),
|
|
GTK_STYLE_PROVIDER (provider),
|
|
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
|
g_object_unref (provider);
|
|
|
|
-
|
|
g_signal_connect (item, "size-allocate",
|
|
G_CALLBACK (title_item_size_allocate_cb), NULL);
|
|
|
|
--
|
|
2.17.1
|
|
|