Lines 1-6
Link Here
|
1 |
--- panel-plugin/wavelan.c.orig 2016-10-29 06:46:02 UTC |
1 |
--- panel-plugin/wavelan.c.orig 2016-10-29 06:46:02 UTC |
2 |
+++ panel-plugin/wavelan.c |
2 |
+++ panel-plugin/wavelan.c |
3 |
@@ -99,11 +99,11 @@ wavelan_set_state(t_wavelan *wavelan, gi |
3 |
@@ -66,7 +66,10 @@ typedef struct |
|
|
4 |
GtkWidget *tooltip_text; |
5 |
|
6 |
XfcePanelPlugin *plugin; |
7 |
- |
8 |
+ |
9 |
+#if GTK_CHECK_VERSION (3, 16, 0) |
10 |
+ GtkCssProvider *css_provider; |
11 |
+#endif |
12 |
} t_wavelan; |
13 |
|
14 |
static void wavelan_set_size(XfcePanelPlugin* plugin, int size, t_wavelan *wavelan); |
15 |
@@ -77,7 +80,6 @@ wavelan_set_state(t_wavelan *wavelan, gi |
16 |
{ |
17 |
GdkRGBA color; |
18 |
#if GTK_CHECK_VERSION (3, 16, 0) |
19 |
- GtkCssProvider *css_provider; |
20 |
gchar *css; |
21 |
#endif |
22 |
|
23 |
@@ -99,32 +101,34 @@ wavelan_set_state(t_wavelan *wavelan, gi |
4 |
|
24 |
|
5 |
if (wavelan->signal_colors) { |
25 |
if (wavelan->signal_colors) { |
6 |
/* set color */ |
26 |
/* set color */ |
Lines 15-21
Link Here
|
15 |
gdk_rgba_parse(&color, signal_color_weak); |
35 |
gdk_rgba_parse(&color, signal_color_weak); |
16 |
else |
36 |
else |
17 |
gdk_rgba_parse(&color, signal_color_bad); |
37 |
gdk_rgba_parse(&color, signal_color_bad); |
18 |
@@ -183,7 +183,15 @@ wavelan_timer(gpointer data) |
38 |
|
|
|
39 |
#if GTK_CHECK_VERSION (3, 16, 0) |
40 |
+ if (!wavelan->css_provider) { |
41 |
#if GTK_CHECK_VERSION (3, 20, 0) |
42 |
- css = g_strdup_printf("progressbar trough { min-width: 4px; min-height: 4px; } \ |
43 |
- progressbar progress { min-width: 4px; min-height: 4px; \ |
44 |
- background-color: %s; background-image: none; }", |
45 |
+ css = g_strdup_printf("progressbar trough { min-width: 4px; min-height: 4px; } \ |
46 |
+ progressbar progress { min-width: 4px; min-height: 4px; \ |
47 |
+ background-color: %s; background-image: none; }", |
48 |
#else |
49 |
- css = g_strdup_printf(".progressbar { background-color: %s; background-image: none; }", |
50 |
+ css = g_strdup_printf(".progressbar { background-color: %s; background-image: none; }", |
51 |
#endif |
52 |
- gdk_rgba_to_string(&color)); |
53 |
- /* Setup Gtk style */ |
54 |
- css_provider = gtk_css_provider_new (); |
55 |
- gtk_css_provider_load_from_data (css_provider, css, strlen(css), NULL); |
56 |
- gtk_style_context_add_provider ( |
57 |
- GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (wavelan->signal))), |
58 |
- GTK_STYLE_PROVIDER (css_provider), |
59 |
- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); |
60 |
- g_free(css); |
61 |
+ gdk_rgba_to_string(&color)); |
62 |
+ /* Setup Gtk style */ |
63 |
+ wavelan->css_provider = gtk_css_provider_new (); |
64 |
+ gtk_css_provider_load_from_data (wavelan->css_provider, css, strlen(css), NULL); |
65 |
+ gtk_style_context_add_provider ( |
66 |
+ GTK_STYLE_CONTEXT (gtk_widget_get_style_context (GTK_WIDGET (wavelan->signal))), |
67 |
+ GTK_STYLE_PROVIDER (wavelan->css_provider), |
68 |
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); |
69 |
+ g_free(css); |
70 |
+ } |
71 |
#else |
72 |
gtk_widget_override_background_color(GTK_WIDGET(wavelan->signal), |
73 |
GTK_STATE_PRELIGHT, |
74 |
@@ -183,7 +187,15 @@ wavelan_timer(gpointer data) |
19 |
} |
75 |
} |
20 |
} |
76 |
} |
21 |
else { |
77 |
else { |