From 8d7558631130447160853597de6769da0a5daf24 Mon Sep 17 00:00:00 2001 From: Sean Davis Date: Mon, 29 Jun 2020 23:25:29 -0400 Subject: [PATCH] Make systray recognize and respond to config updates (size max, square icons) --- plugins/statusnotifier/sn-plugin.c | 2 ++ plugins/statusnotifier/systray.c | 14 ++++++++++++++ plugins/statusnotifier/systray.h | 3 +++ 3 files changed, 19 insertions(+) diff --git a/plugins/statusnotifier/sn-plugin.c b/plugins/statusnotifier/sn-plugin.c index cf76e234..dc65e688 100644 --- a/plugins/statusnotifier/sn-plugin.c +++ b/plugins/statusnotifier/sn-plugin.c @@ -317,6 +317,8 @@ sn_plugin_construct (XfcePanelPlugin *panel_plugin) g_signal_connect_swapped (plugin->config, "configuration-changed", G_CALLBACK (gtk_widget_queue_resize), plugin->systray_box); + g_signal_connect (plugin->config, "configuration-changed", + G_CALLBACK (systray_plugin_configuration_changed), plugin); plugin->backend = sn_backend_new (); g_signal_connect_swapped (plugin->backend, "item-added", diff --git a/plugins/statusnotifier/systray.c b/plugins/statusnotifier/systray.c index 1215a25c..9a08e9d6 100644 --- a/plugins/statusnotifier/systray.c +++ b/plugins/statusnotifier/systray.c @@ -171,6 +171,20 @@ systray_free_array_element (gpointer data) g_free (value); } +void systray_plugin_configuration_changed (SnConfig *config, + SnPlugin *plugin) +{ + gint icon_size = sn_config_get_icon_size (config); + gboolean square_icons = sn_config_get_square_icons (config); + + systray_box_set_size_max (XFCE_SYSTRAY_BOX (plugin->systray_box), + icon_size); + + systray_box_set_squared (XFCE_SYSTRAY_BOX (plugin->systray_box), square_icons); + systray_plugin_size_changed (XFCE_PANEL_PLUGIN (plugin), + xfce_panel_plugin_get_size (XFCE_PANEL_PLUGIN (plugin))); +} + static void systray_plugin_get_property (GObject *object, guint prop_id, diff --git a/plugins/statusnotifier/systray.h b/plugins/statusnotifier/systray.h index 8243242d..8f2e8bfd 100644 --- a/plugins/statusnotifier/systray.h +++ b/plugins/statusnotifier/systray.h @@ -21,6 +21,7 @@ #include #include +#include "sn-config.h" #include "sn-plugin.h" G_BEGIN_DECLS @@ -40,6 +41,8 @@ void systray_plugin_button_toggled (GtkWidget *button, void systray_plugin_screen_changed (GtkWidget *widget, GdkScreen *previous_screen); void systray_plugin_composited_changed (GtkWidget *widget); +void systray_plugin_configuration_changed (SnConfig *config, + SnPlugin *plugin); void systray_plugin_orientation_changed (XfcePanelPlugin *panel_plugin, GtkOrientation orientation); gboolean systray_plugin_size_changed (XfcePanelPlugin *panel_plugin, -- GitLab