Updating branch refs/heads/master to 512444b19ffd48f86c0dd88ab4d910f5a09a8d3e (commit) from d205f3e9d694ad08887d8b2793b6719ca3ace01d (commit)
commit 512444b19ffd48f86c0dd88ab4d910f5a09a8d3e Author: Harald Judt <h.j...@gmx.at> Date: Tue Aug 13 23:29:48 2013 +0200 Add code for setting font. panel-plugin/xfce4-cpufreq-plugin.c | 64 +++++++++++++++++++++++------------ panel-plugin/xfce4-cpufreq-plugin.h | 4 +++ 2 files changed, 47 insertions(+), 21 deletions(-) diff --git a/panel-plugin/xfce4-cpufreq-plugin.c b/panel-plugin/xfce4-cpufreq-plugin.c index 7fe718f..32abdc2 100644 --- a/panel-plugin/xfce4-cpufreq-plugin.c +++ b/panel-plugin/xfce4-cpufreq-plugin.c @@ -40,37 +40,47 @@ #include "xfce4-cpufreq-overview.h" #include "xfce4-cpufreq-utils.h" +void +cpufreq_label_set_font (void) +{ + PangoFontDescription *desc = NULL; + + if (G_UNLIKELY (cpuFreq->label == NULL)) + return; + + if (cpuFreq->options->fontname) + desc = pango_font_description_from_string (cpuFreq->options->fontname); + + gtk_widget_modify_font (cpuFreq->label, desc); + pango_font_description_free (desc); +} + gboolean cpufreq_update_label (CpuInfo *cpu) { gchar *label, *freq; + gint size, both; - if (!cpuFreq->options->show_label_governor && !cpuFreq->options->show_label_freq) + if (!cpuFreq->options->show_label_governor && + !cpuFreq->options->show_label_freq) return TRUE; - gint size = xfce_panel_plugin_get_size (cpuFreq->plugin); - gboolean both = cpu->cur_governor != NULL && cpuFreq->options->show_label_freq && cpuFreq->options->show_label_governor; - - gchar *txt_size = both ? - (size <= 38 ? (size <= 28 ? "<span size=\"xx-small\">" : "<span size=\"x-small\">") : "<span>") : - (size <= 19 ? "<span size=\"x-small\">" : "<span>"); + both = cpu->cur_governor != NULL && + cpuFreq->options->show_label_freq && + cpuFreq->options->show_label_governor; freq = cpufreq_get_human_readable_freq (cpu->cur_freq); - label = g_strconcat (txt_size, - - cpuFreq->options->show_label_freq ? freq : "", - - both ? (size <= 25 ? " " : "\n") : "", - - cpu->cur_governor != NULL && - cpuFreq->options->show_label_governor ? cpu->cur_governor : "", + label = g_strconcat + (cpuFreq->options->show_label_freq ? freq : "", + both ? "\n" : "", + cpu->cur_governor != NULL && + cpuFreq->options->show_label_governor ? cpu->cur_governor : "", + NULL); - "</span>", - NULL); + gtk_label_set_text (GTK_LABEL (cpuFreq->label), label); - if (strcmp(label,"")) + if (strcmp(label, "")) { - gtk_label_set_markup (GTK_LABEL(cpuFreq->label), label); if (cpuFreq->panel_mode == XFCE_PANEL_PLUGIN_MODE_VERTICAL) gtk_label_set_angle (GTK_LABEL(cpuFreq->label), -90); else @@ -239,8 +249,10 @@ cpufreq_update_plugin (void) cpu = g_ptr_array_index (cpuFreq->cpus, cpuFreq->options->show_cpu); ret = cpufreq_update_label (cpu); - if (cpuFreq->layout_changed) + if (cpuFreq->layout_changed) { + cpufreq_label_set_font (); cpufreq_widgets_layout (); + } return ret; } @@ -352,6 +364,7 @@ cpufreq_read_config (void) { XfceRc *rc; gchar *file; + const gchar *value; file = xfce_panel_plugin_save_location (cpuFreq->plugin, FALSE); @@ -371,6 +384,12 @@ cpufreq_read_config (void) cpuFreq->options->show_warning = xfce_rc_read_bool_entry (rc, "show_warning", TRUE); cpuFreq->options->keep_compact = xfce_rc_read_bool_entry (rc, "keep_compact", FALSE); + value = xfce_rc_read_entry (rc, "fontname", NULL); + if (value) { + g_free (cpuFreq->options->fontname); + cpuFreq->options->fontname = g_strdup (value); + } + xfce_rc_close (rc); } @@ -395,6 +414,8 @@ cpufreq_write_config (XfcePanelPlugin *plugin) xfce_rc_write_bool_entry (rc, "show_label_governor", cpuFreq->options->show_label_governor); xfce_rc_write_bool_entry (rc, "show_warning", cpuFreq->options->show_warning); xfce_rc_write_bool_entry (rc, "keep_compact", cpuFreq->options->keep_compact); + if (cpuFreq->options->fontname) + xfce_rc_write_entry (rc, "fontname", cpuFreq->options->fontname); xfce_rc_close (rc); } @@ -425,8 +446,9 @@ cpufreq_free (XfcePanelPlugin *plugin) g_ptr_array_remove_fast (cpuFreq->cpus, cpu); cpuinfo_free (cpu); } - g_ptr_array_free (cpuFreq->cpus, TRUE); + + g_free (cpuFreq->options->fontname); cpuFreq->plugin = NULL; g_free (cpuFreq); } diff --git a/panel-plugin/xfce4-cpufreq-plugin.h b/panel-plugin/xfce4-cpufreq-plugin.h index 89fc977..995a391 100644 --- a/panel-plugin/xfce4-cpufreq-plugin.h +++ b/panel-plugin/xfce4-cpufreq-plugin.h @@ -52,6 +52,7 @@ typedef struct gboolean show_label_freq; gboolean show_warning; gboolean keep_compact; + gchar *fontname; } CpuFreqPluginOptions; typedef struct @@ -82,6 +83,9 @@ G_BEGIN_DECLS void cpuinfo_free (CpuInfo *cpu); +void +cpufreq_label_set_font (void); + gboolean cpufreq_update_plugin (void); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits