summaryrefslogtreecommitdiffstats
path: root/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.HOVER_TIMEOUT.diff
diff options
context:
space:
mode:
Diffstat (limited to 'source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.HOVER_TIMEOUT.diff')
-rw-r--r--source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.HOVER_TIMEOUT.diff51
1 files changed, 51 insertions, 0 deletions
diff --git a/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.HOVER_TIMEOUT.diff b/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.HOVER_TIMEOUT.diff
new file mode 100644
index 000000000..2cdd26f82
--- /dev/null
+++ b/source/xfce/xfce4-systemload-plugin/xfce4-systemload-plugin.HOVER_TIMEOUT.diff
@@ -0,0 +1,51 @@
+--- ./panel-plugin/systemload.c.orig 2017-02-09 13:22:46.000000000 -0600
++++ ./panel-plugin/systemload.c 2018-04-15 14:28:15.729304272 -0500
+@@ -55,6 +55,8 @@
+ static gchar *DEFAULT_COLOR[] = { "#0000c0", "#00c000", "#f0f000" };
+ static gchar *DEFAULT_COMMAND_TEXT = "xfce4-taskmanager";
+
++/* HOVER_TIMEOUT is a fixed constant in gtk+-3; this must match - Aargh */
++#define HOVER_TIMEOUT 500
+ #define UPDATE_TIMEOUT 250
+ #define UPDATE_TIMEOUT_SECONDS 1
+
+@@ -107,6 +109,7 @@
+ guint timeout, timeout_seconds;
+ gboolean use_timeout_seconds;
+ guint timeout_id;
++ guint tooltip_timeout;
+ t_command command;
+ t_monitor *monitor[3];
+ t_uptime_monitor *uptime;
+@@ -174,6 +177,9 @@
+ global->monitor[count]->value_read / 100.0);
+ }
+ }
++/* don't write tooltip too often */
++ if((global->tooltip_timeout += global->timeout) <= HOVER_TIMEOUT) return TRUE;
++ global->tooltip_timeout = 0;
+ if (global->monitor[0]->options.enabled)
+ {
+ g_snprintf(caption, sizeof(caption), _("System Load: %ld%%"),
+@@ -338,6 +344,7 @@
+ #endif
+ global->plugin = plugin;
+ global->timeout = UPDATE_TIMEOUT;
++ global->tooltip_timeout = 0;
+ global->timeout_seconds = UPDATE_TIMEOUT_SECONDS;
+ global->use_timeout_seconds = TRUE;
+ global->timeout_id = 0;
+@@ -435,13 +442,6 @@
+ }
+ #endif
+ global->timeout_id = g_timeout_add(global->timeout, (GSourceFunc)update_monitors, global);
+- /* reduce the default tooltip timeout to be smaller than the update interval otherwise
+- * we won't see tooltips on GTK 2.16 or newer */
+- settings = gtk_settings_get_default();
+- if (g_object_class_find_property(G_OBJECT_GET_CLASS(settings), "gtk-tooltip-timeout"))
+- g_object_set(settings, "gtk-tooltip-timeout",
+- global->timeout - 10, NULL);
+-
+ }
+
+ static void