This is an automated email from the git hooks/post-receive script. a n d r z e j r p u s h e d a c o m m i t t o b r a n c h m a s t e r in repository panel-plugins/xfce4-pulseaudio-plugin.
commit bee333f6ecd6e89d89ef68bf880d93b1fe5fff7a Author: Matthieu Mota <matthieum...@gmail.com> Date: Sun May 21 15:30:26 2017 +0200 Fix large size button --- panel-plugin/pulseaudio-plugin.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/panel-plugin/pulseaudio-plugin.c b/panel-plugin/pulseaudio-plugin.c index ff2c254..6a756c3 100644 --- a/panel-plugin/pulseaudio-plugin.c +++ b/panel-plugin/pulseaudio-plugin.c @@ -241,13 +241,38 @@ pulseaudio_plugin_size_changed (XfcePanelPlugin *plugin, { PulseaudioPlugin *pulseaudio_plugin = PULSEAUDIO_PLUGIN (plugin); gint icon_size; + GtkStyleContext *context; + GtkBorder padding; + GtkBorder border; + gint width; + gint xthickness; + gint ythickness; /* The plugin only occupies a single row */ size /= xfce_panel_plugin_get_nrows (plugin); #if LIBXFCE4PANEL_CHECK_VERSION (4,13,0) icon_size = xfce_panel_plugin_get_icon_size (plugin); #else - icon_size = size - 2; // fall-back for older panel versions + // fall-back for older panel versions + /* Get widget's padding and border to correctly calculate the button's icon size */ + context = gtk_widget_get_style_context (GTK_WIDGET (pulseaudio_plugin->button)); + gtk_style_context_get_padding (context, gtk_widget_get_state_flags (GTK_WIDGET (pulseaudio_plugin->button)), &padding); + gtk_style_context_get_border (context, gtk_widget_get_state_flags (GTK_WIDGET (pulseaudio_plugin->button)), &border); + xthickness = padding.left+padding.right+border.left+border.right; + ythickness = padding.top+padding.bottom+border.top+border.bottom; + + width = size - 2 * MAX (xthickness, ythickness); + /* Since symbolic icons are usually only provided in 16px we + * try to be clever and use size steps */ + + if (width <= 21) + icon_size = 16; + else if (width >=22 && width <= 29) + icon_size = 24; + else if (width >= 30 && width <= 40) + icon_size = 32; + else + icon_size = width; #endif pulseaudio_button_set_size (pulseaudio_plugin->button, size, icon_size); -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits