[Xfce4-commits] [xfce/xfce4-power-manager] 01/01: Make brightness steps configurable (Bug #12062)

noreply at xfce.org noreply at xfce.org
Mon Jan 6 00:45:54 CET 2020


This is an automated email from the git hooks/post-receive script.

o   c   h   o   s   i       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 xfce/xfce4-power-manager.

commit c866cf9faec6333e60f6b55a56b92ec9494747f3
Author: Timothy Lee <timothy.ty.lee at gmail.com>
Date:   Mon Jan 6 00:43:14 2020 +0100

    Make brightness steps configurable (Bug #12062)
    
    This commit introduces two new options:
    1) Configuring the amount of brightness steps
    2) Whether to distribute the steps in a linear or exponential way
    
    Both options are presented in the settings dialog and affect the
    brightness keys and the panel plugin.
---
 common/xfpm-brightness.c                           | 60 +++++++++++++++++--
 common/xfpm-brightness.h                           |  3 +
 common/xfpm-config.h                               |  2 +
 data/interfaces/xfpm-settings.ui                   | 60 +++++++++++++++++++
 .../power-manager-plugin/power-manager-button.c    | 13 ++++
 settings/xfpm-settings.c                           | 70 ++++++++++++++++++++++
 src/xfpm-backlight.c                               | 25 +++++++-
 src/xfpm-xfconf.c                                  | 25 ++++++++
 8 files changed, 252 insertions(+), 6 deletions(-)

diff --git a/common/xfpm-brightness.c b/common/xfpm-brightness.c
index 59cb4ac..9fb5b9c 100644
--- a/common/xfpm-brightness.c
+++ b/common/xfpm-brightness.c
@@ -25,6 +25,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <math.h>
 
 #include <gtk/gtk.h>
 #include <gdk/gdk.h>
@@ -48,15 +49,43 @@ struct XfpmBrightnessPrivate
   gint    output;
   gboolean    xrandr_has_hw;
   gboolean    helper_has_hw;
+  gboolean    use_exp_step;
 
   gint32    max_level;
   gint32    current_level;
   gint32    min_level;
   gint32    step;
+  gfloat    exp_step;
 };
 
 G_DEFINE_TYPE_WITH_PRIVATE (XfpmBrightness, xfpm_brightness, G_TYPE_OBJECT)
 
+static gint32
+xfpm_brightness_inc (XfpmBrightness *brightness, gint32 level)
+{
+  if (brightness->priv->use_exp_step)
+  {
+    gint32 new_level = roundf (level * brightness->priv->exp_step);
+    if (new_level == level)  ++new_level;
+    return new_level;
+  }
+  else
+    return level + brightness->priv->step;
+}
+
+static gint32
+xfpm_brightness_dec (XfpmBrightness *brightness, gint32 level)
+{
+  if (brightness->priv->use_exp_step)
+  {
+    gint32 new_level = roundf (level / brightness->priv->exp_step);
+    if (new_level == level)  --new_level;
+    return new_level;
+  }
+  else
+    return level - brightness->priv->step;
+}
+
 static gboolean
 xfpm_brightness_xrand_get_limit (XfpmBrightness *brightness, RROutput output, gint *min, gint *max)
 {
@@ -222,6 +251,7 @@ xfpm_brightness_setup_xrandr (XfpmBrightness *brightness)
         ret = TRUE;
         brightness->priv->output = brightness->priv->resource->outputs[i];
         brightness->priv->step =  max <= 20 ? 1 : max / 10;
+        brightness->priv->exp_step = 2;
       }
     }
 
@@ -252,7 +282,7 @@ xfpm_brightness_xrand_up (XfpmBrightness *brightness, gint32 *new_level)
     return TRUE;
   }
 
-  set_level = MIN (hw_level + brightness->priv->step, brightness->priv->max_level );
+  set_level = MIN (xfpm_brightness_inc (brightness, hw_level), brightness->priv->max_level);
 
   g_warn_if_fail (xfpm_brightness_xrandr_set_level (brightness, brightness->priv->output, set_level));
 
@@ -292,7 +322,7 @@ xfpm_brightness_xrand_down (XfpmBrightness *brightness, gint32 *new_level)
     return TRUE;
   }
 
-  set_level = MAX (hw_level - brightness->priv->step, brightness->priv->min_level);
+  set_level = MAX (xfpm_brightness_dec (brightness, hw_level), brightness->priv->min_level);
 
   g_warn_if_fail (xfpm_brightness_xrandr_set_level (brightness, brightness->priv->output, set_level));
 
@@ -378,6 +408,7 @@ xfpm_brightness_setup_helper (XfpmBrightness *brightness)
     brightness->priv->min_level = 0;
     brightness->priv->max_level = ret;
     brightness->priv->step =  ret <= 20 ? 1 : ret / 10;
+    brightness->priv->exp_step = 2;
   }
 
   return brightness->priv->helper_has_hw;
@@ -486,7 +517,7 @@ xfpm_brightness_helper_up (XfpmBrightness *brightness, gint32 *new_level)
     return TRUE;
   }
 
-  set_level = MIN (hw_level + brightness->priv->step, brightness->priv->max_level );
+  set_level = MIN (xfpm_brightness_inc (brightness, hw_level), brightness->priv->max_level);
 
   g_warn_if_fail (xfpm_brightness_helper_set_level (brightness, set_level));
 
@@ -526,7 +557,7 @@ xfpm_brightness_helper_down (XfpmBrightness *brightness, gint32 *new_level)
     return TRUE;
   }
 
-  set_level = MAX (hw_level - brightness->priv->step, brightness->priv->min_level);
+  set_level = MAX (xfpm_brightness_dec (brightness, hw_level), brightness->priv->min_level);
 
   g_warn_if_fail (xfpm_brightness_helper_set_level (brightness, set_level));
 
@@ -566,11 +597,13 @@ xfpm_brightness_init (XfpmBrightness *brightness)
   brightness->priv->resource = NULL;
   brightness->priv->xrandr_has_hw = FALSE;
   brightness->priv->helper_has_hw = FALSE;
+  brightness->priv->use_exp_step = FALSE;
   brightness->priv->max_level = 0;
   brightness->priv->min_level = 0;
   brightness->priv->current_level = 0;
   brightness->priv->output = 0;
   brightness->priv->step = 0;
+  brightness->priv->exp_step = 1;
 }
 
 static void
@@ -711,6 +744,25 @@ gboolean xfpm_brightness_set_level (XfpmBrightness *brightness, gint32 level)
   return ret;
 }
 
+gboolean xfpm_brightness_set_step_count (XfpmBrightness *brightness, guint32 count, gboolean exponential)
+{
+  gboolean ret = FALSE;
+
+  if ( xfpm_brightness_has_hw (brightness) ) {
+    gint32 delta;
+
+    if ( count < 2 )
+      count = 2;
+    delta = brightness->priv->max_level - brightness->priv->min_level;
+    brightness->priv->use_exp_step = exponential;
+    brightness->priv->step = (delta < (count * 2)) ? 1 : (delta / count);
+    brightness->priv->exp_step = powf (delta, 1.0 / count);
+    ret = TRUE;
+  }
+
+  return ret;
+}
+
 gboolean xfpm_brightness_dim_down (XfpmBrightness *brightness)
 {
   gboolean ret = FALSE;
diff --git a/common/xfpm-brightness.h b/common/xfpm-brightness.h
index 2e07240..1780d2e 100644
--- a/common/xfpm-brightness.h
+++ b/common/xfpm-brightness.h
@@ -57,6 +57,9 @@ gboolean          xfpm_brightness_get_level       (XfpmBrightness *brightness,
                                                    gint32         *level);
 gboolean          xfpm_brightness_set_level       (XfpmBrightness *brightness,
                                                    gint32          level);
+gboolean          xfpm_brightness_set_step_count  (XfpmBrightness *brightness,
+                                                   guint32         count,
+                                                   gboolean        exponential);
 gboolean          xfpm_brightness_dim_down        (XfpmBrightness *brightness);
 gboolean          xfpm_brightness_get_switch      (XfpmBrightness *brightness,
                                                    gint           *brightness_switch);
diff --git a/common/xfpm-config.h b/common/xfpm-config.h
index dbbdee5..e4322c7 100644
--- a/common/xfpm-config.h
+++ b/common/xfpm-config.h
@@ -76,6 +76,8 @@ G_BEGIN_DECLS
 #define BRIGHTNESS_LEVEL_ON_AC               "brightness-level-on-ac"
 #define BRIGHTNESS_LEVEL_ON_BATTERY          "brightness-level-on-battery"
 #define BRIGHTNESS_SLIDER_MIN_LEVEL          "brightness-slider-min-level"
+#define BRIGHTNESS_STEP_COUNT                "brightness-step-count"
+#define BRIGHTNESS_EXPONENTIAL               "brightness-exponential"
 #define BRIGHTNESS_SWITCH                    "brightness-switch"
 #define BRIGHTNESS_SWITCH_SAVE               "brightness-switch-restore-on-exit"
 #define HANDLE_BRIGHTNESS_KEYS               "handle-brightness-keys"
diff --git a/data/interfaces/xfpm-settings.ui b/data/interfaces/xfpm-settings.ui
index b5cc3cf..89e5c63 100644
--- a/data/interfaces/xfpm-settings.ui
+++ b/data/interfaces/xfpm-settings.ui
@@ -31,6 +31,12 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
+  <object class="GtkAdjustment" id="brightness-step-count-spin-adjustment">
+    <property name="lower">2</property>
+    <property name="upper">100</property>
+    <property name="value">10</property>
+    <property name="step_increment">5</property>
+  </object>
   <object class="GtkAdjustment" id="critical-power-level-spin-adjustment">
     <property name="lower">1</property>
     <property name="upper">20</property>
@@ -455,6 +461,7 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="halign">end</property>
+                                    <signal name="state-set" handler="handle_brightness_keys_toggled_cb" swapped="no"/>
                                   </object>
                                   <packing>
                                     <property name="left_attach">1</property>
@@ -462,6 +469,59 @@
                                   </packing>
                                 </child>
                                 <child>
+                                  <object class="GtkBox" id="hbox4">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="spacing">6</property>
+                                    <child>
+                                      <object class="GtkSpinButton" id="brightness-step-count-spin">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="hexpand">False</property>
+                                        <property name="invisible_char">●</property>
+                                        <property name="primary_icon_activatable">False</property>
+                                        <property name="secondary_icon_activatable">False</property>
+                                        <property name="adjustment">brightness-step-count-spin-adjustment</property>
+                                        <signal name="value-changed" handler="brightness_step_count_value_changed_cb" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkCheckButton" id="brightness-exponential">
+                                        <property name="label" translatable="yes">Exponential</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">False</property>
+                                        <property name="draw_indicator">True</property>
+                                        <signal name="toggled" handler="brightness_exponential_toggled_cb" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="top_attach">5</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="brightness-step-count-label">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Brightness step count:</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">0</property>
+                                    <property name="top_attach">5</property>
+                                  </packing>
+                                </child>
+                                <child>
                                   <object class="GtkLabel" id="handle-brightness-keys-label">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
diff --git a/panel-plugins/power-manager-plugin/power-manager-button.c b/panel-plugins/power-manager-plugin/power-manager-button.c
index c71ce21..5e4dac0 100644
--- a/panel-plugins/power-manager-plugin/power-manager-button.c
+++ b/panel-plugins/power-manager-plugin/power-manager-button.c
@@ -1721,6 +1721,19 @@ power_manager_button_show_menu (PowerManagerButton *button)
   {
     max_level = xfpm_brightness_get_max_level (button->priv->brightness);
 
+    /* Setup brightness steps */
+    guint brightness_step_count =
+      xfconf_channel_get_uint (button->priv->channel,
+                               XFPM_PROPERTIES_PREFIX BRIGHTNESS_STEP_COUNT,
+                               10);
+    gboolean brightness_exponential =
+      xfconf_channel_get_bool (button->priv->channel,
+                               XFPM_PROPERTIES_PREFIX BRIGHTNESS_EXPONENTIAL,
+                               FALSE);
+    xfpm_brightness_set_step_count (button->priv->brightness,
+                                    brightness_step_count,
+                                    brightness_exponential);
+
     mi = scale_menu_item_new_with_range (button->priv->brightness_min_level, max_level, 1);
 
     scale_menu_item_set_description_label (SCALE_MENU_ITEM (mi), _("<b>Display brightness</b>"));
diff --git a/settings/xfpm-settings.c b/settings/xfpm-settings.c
index 5e86a93..f56ecf9 100644
--- a/settings/xfpm-settings.c
+++ b/settings/xfpm-settings.c
@@ -64,6 +64,8 @@ static  GtkWidget *on_ac_dpms_sleep     = NULL;
 static  GtkWidget *on_ac_dpms_off     = NULL;
 static  GtkWidget *sideview                 = NULL; /* Sidebar tree view - all devices are in the sideview */
 static  GtkWidget *device_details_notebook  = NULL; /* Displays the details of a deivce */
+static  GtkWidget *brightness_step_count    = NULL;
+static  GtkWidget *brightness_exponential   = NULL;
 
 static  GtkWidget *label_inactivity_on_ac                       = NULL;
 static  GtkWidget *label_inactivity_on_battery                  = NULL;
@@ -173,6 +175,13 @@ void        on_ac_sleep_mode_changed_cb                (GtkWidget *w,
                                                         XfconfChannel *channel);
 void        on_battery_sleep_mode_changed_cb           (GtkWidget *w,
                                                         XfconfChannel *channel);
+void        handle_brightness_keys_toggled_cb          (GtkWidget *w,
+                                                        gboolean is_active,
+                                                        XfconfChannel *channel);
+void        brightness_step_count_value_changed_cb     (GtkSpinButton *w,
+                                                        XfconfChannel *channel);
+void        brightness_exponential_toggled_cb          (GtkWidget *w,
+                                                        XfconfChannel *channel);
 /* Light Locker Integration */
 gchar      *format_light_locker_value_cb               (gint value);
 void        light_locker_late_locking_value_changed_cb (GtkWidget *w,
@@ -793,6 +802,36 @@ critical_level_value_changed_cb (GtkSpinButton *w, XfconfChannel *channel)
 }
 
 void
+handle_brightness_keys_toggled_cb (GtkWidget *w, gboolean is_active, XfconfChannel *channel)
+{
+  gtk_widget_set_sensitive (brightness_step_count, is_active);
+  gtk_widget_set_sensitive (brightness_exponential, is_active);
+  gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object (xml, "brightness-step-count-label")), is_active);
+}
+
+void
+brightness_step_count_value_changed_cb (GtkSpinButton *w, XfconfChannel *channel)
+{
+  guint val = (guint) gtk_spin_button_get_value (w);
+
+  if ( !xfconf_channel_set_uint (channel, XFPM_PROPERTIES_PREFIX BRIGHTNESS_STEP_COUNT, val) )
+  {
+    g_critical ("Unable to set value %d for property %s\n", val, BRIGHTNESS_STEP_COUNT);
+  }
+}
+
+void
+brightness_exponential_toggled_cb (GtkWidget *w, XfconfChannel *channel)
+{
+  gboolean val = (gint) gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(w));
+
+  if ( !xfconf_channel_set_bool (channel, XFPM_PROPERTIES_PREFIX BRIGHTNESS_EXPONENTIAL, val) )
+  {
+    g_critical ("Unable to set value for property %s\n", BRIGHTNESS_EXPONENTIAL);
+  }
+}
+
+void
 lock_screen_toggled_cb (GtkWidget *w, XfconfChannel *channel)
 {
   XfconfChannel *session_channel = xfconf_channel_get ("xfce4-session");
@@ -1503,6 +1542,33 @@ xfpm_settings_general (XfconfChannel *channel, gboolean auth_suspend,
     gtk_widget_hide (battery_w);
     gtk_widget_hide (battery_label);
   }
+
+  /*
+   * Brightness step count
+   */
+  brightness_step_count = GTK_WIDGET (gtk_builder_get_object (xml, "brightness-step-count-spin"));
+  gtk_widget_set_tooltip_text (brightness_step_count,
+      _("Number of brightness steps available using keys"));
+  val = xfconf_channel_get_uint (channel, XFPM_PROPERTIES_PREFIX BRIGHTNESS_STEP_COUNT, 10);
+  if ( val > 100 || val < 2)
+  {
+    g_critical ("Value %d if out of range for property %s\n", val, BRIGHTNESS_STEP_COUNT);
+    gtk_spin_button_set_value (GTK_SPIN_BUTTON(brightness_step_count), 10);
+  }
+  else
+    gtk_spin_button_set_value (GTK_SPIN_BUTTON(brightness_step_count), val);
+
+  /*
+   * Exponential brightness
+   */
+  brightness_exponential = GTK_WIDGET (gtk_builder_get_object (xml, "brightness-exponential"));
+  val = xfconf_channel_get_bool (channel, XFPM_PROPERTIES_PREFIX BRIGHTNESS_EXPONENTIAL, FALSE);
+  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(brightness_exponential), val);
+
+  valid = xfconf_channel_get_bool (channel, XFPM_PROPERTIES_PREFIX HANDLE_BRIGHTNESS_KEYS, TRUE);
+  gtk_widget_set_sensitive (brightness_step_count, valid);
+  gtk_widget_set_sensitive (brightness_exponential, valid);
+  gtk_widget_set_sensitive (GTK_WIDGET (gtk_builder_get_object (xml, "brightness-step-count-label")), valid);
 }
 
 static void
@@ -2478,6 +2544,10 @@ xfpm_settings_dialog_new (XfconfChannel *channel, gboolean auth_suspend,
     gtk_widget_hide (frame);
     frame = GTK_WIDGET (gtk_builder_get_object (xml, "handle-brightness-keys-label"));
     gtk_widget_hide (frame);
+    frame = GTK_WIDGET (gtk_builder_get_object (xml, "brightness-step-count"));
+    gtk_widget_hide (frame);
+    frame = GTK_WIDGET (gtk_builder_get_object (xml, "brightness-exponential"));
+    gtk_widget_hide (frame);
   }
 
   if ( id != 0 )
diff --git a/src/xfpm-backlight.c b/src/xfpm-backlight.c
index 55a9dc2..1c49562 100644
--- a/src/xfpm-backlight.c
+++ b/src/xfpm-backlight.c
@@ -79,6 +79,9 @@ struct XfpmBacklightPrivate
   gint32          last_level;
   gint32      max_level;
 
+  guint           brightness_step_count;
+  gboolean        brightness_exponential;
+
   gint            brightness_switch;
   gint            brightness_switch_save;
   gboolean        brightness_switch_initialized;
@@ -215,14 +218,17 @@ xfpm_backlight_reset_cb (EggIdletime *idle, XfpmBacklight *backlight)
 static void
 xfpm_backlight_button_pressed_cb (XfpmButton *button, XfpmButtonKey type, XfpmBacklight *backlight)
 {
-  gint32 level;
+  gint32   level;
   gboolean ret = TRUE;
-
   gboolean handle_brightness_keys, show_popup;
+  guint    brightness_step_count;
+  gboolean brightness_exponential;
 
   g_object_get (G_OBJECT (backlight->priv->conf),
                 HANDLE_BRIGHTNESS_KEYS, &handle_brightness_keys,
                 SHOW_BRIGHTNESS_POPUP, &show_popup,
+                BRIGHTNESS_STEP_COUNT, &brightness_step_count,
+                BRIGHTNESS_EXPONENTIAL, &brightness_exponential,
                 NULL);
 
   if ( type != BUTTON_MON_BRIGHTNESS_UP && type != BUTTON_MON_BRIGHTNESS_DOWN )
@@ -233,6 +239,9 @@ xfpm_backlight_button_pressed_cb (XfpmButton *button, XfpmButtonKey type, XfpmBa
     ret = xfpm_brightness_get_level (backlight->priv->brightness, &level);
   else
   {
+    xfpm_brightness_set_step_count(backlight->priv->brightness,
+                                   brightness_step_count,
+                                   brightness_exponential);
     if ( type == BUTTON_MON_BRIGHTNESS_UP )
       ret = xfpm_brightness_up (backlight->priv->brightness, &level);
     else
@@ -341,6 +350,8 @@ xfpm_backlight_init (XfpmBacklight *backlight)
   backlight->priv->power    = NULL;
   backlight->priv->dimmed = FALSE;
   backlight->priv->block = FALSE;
+  backlight->priv->brightness_step_count = 10;
+  backlight->priv->brightness_exponential = FALSE;
   backlight->priv->brightness_switch_initialized = FALSE;
 
   if ( !backlight->priv->has_hw )
@@ -429,6 +440,16 @@ xfpm_backlight_init (XfpmBacklight *backlight)
                   NULL);
     xfpm_brightness_get_level (backlight->priv->brightness, &backlight->priv->last_level);
     xfpm_backlight_set_timeouts (backlight);
+
+    /* setup step count */
+    backlight->priv->brightness_step_count =
+        xfconf_channel_get_int (xfpm_xfconf_get_channel(backlight->priv->conf),
+                                XFPM_PROPERTIES_PREFIX BRIGHTNESS_STEP_COUNT,
+                                10);
+    backlight->priv->brightness_exponential =
+        xfconf_channel_get_bool (xfpm_xfconf_get_channel(backlight->priv->conf),
+                                 XFPM_PROPERTIES_PREFIX BRIGHTNESS_EXPONENTIAL,
+                                 FALSE);
   }
 }
 
diff --git a/src/xfpm-xfconf.c b/src/xfpm-xfconf.c
index 961911c..86ab154 100644
--- a/src/xfpm-xfconf.c
+++ b/src/xfpm-xfconf.c
@@ -58,6 +58,8 @@ enum
   PROP_CRITICAL_LEVEL,
   PROP_SHOW_BRIGHTNESS_POPUP,
   PROP_HANDLE_BRIGHTNESS_KEYS,
+  PROP_BRIGHTNESS_STEP_COUNT,
+  PROP_BRIGHTNESS_EXPONENTIAL,
   PROP_TRAY_ICON,
   PROP_CRITICAL_BATTERY_ACTION,
   PROP_POWER_BUTTON,
@@ -289,6 +291,29 @@ xfpm_xfconf_class_init (XfpmXfconfClass *klass)
                                                          NULL, NULL,
                                                          TRUE,
                                                          G_PARAM_READWRITE));
+
+  /**
+   * XfpmXfconf::brightness-step-count
+   **/
+  g_object_class_install_property (object_class,
+                                   PROP_BRIGHTNESS_STEP_COUNT,
+                                   g_param_spec_uint (BRIGHTNESS_STEP_COUNT,
+                                                      NULL, NULL,
+                                                      2,
+                                                      100,
+                                                      10,
+                                                      G_PARAM_READWRITE));
+
+  /**
+   * XfpmXfconf::brightness-exponential
+   **/
+  g_object_class_install_property (object_class,
+                                   PROP_BRIGHTNESS_EXPONENTIAL,
+                                   g_param_spec_boolean (BRIGHTNESS_EXPONENTIAL,
+                                                         NULL, NULL,
+                                                         FALSE,
+                                                         G_PARAM_READWRITE));
+
   /**
    * XfpmXfconf::show-tray-icon
    **/

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list