[Xfce4-commits] [xfce/xfwm4] 01/01: Raise window while cycling

noreply at xfce.org noreply at xfce.org
Wed Dec 20 10:36:56 CET 2017


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

o   l   i   v   i   e   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 xfce/xfwm4.

commit 58dcef04b4737ec9871a312567923334d36b50fb
Author: David Siroky <siroky at dasir.cz>
Date:   Wed Dec 20 10:33:44 2017 +0100

    Raise window while cycling
    
    Bug: 2701
    
    Optionally raise the window being considered while cycling.
---
 defaults/defaults                          |  1 +
 settings-dialogs/tweaks-settings.c         |  5 +++++
 settings-dialogs/xfwm4-tweaks-dialog.glade | 18 +++++++++++++++++-
 src/cycle.c                                |  8 ++++++++
 src/settings.c                             |  7 +++++++
 src/settings.h                             |  1 +
 6 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/defaults/defaults b/defaults/defaults
index 2b1ba5b..3058073 100644
--- a/defaults/defaults
+++ b/defaults/defaults
@@ -8,6 +8,7 @@ button_spacing=0
 click_to_focus=true
 cycle_apps_only=false
 cycle_draw_frame=true
+cycle_raise=false
 cycle_hidden=true
 cycle_minimum=true
 cycle_preview=true
diff --git a/settings-dialogs/tweaks-settings.c b/settings-dialogs/tweaks-settings.c
index b6691af..d5f711b 100644
--- a/settings-dialogs/tweaks-settings.c
+++ b/settings-dialogs/tweaks-settings.c
@@ -173,6 +173,7 @@ wm_tweaks_dialog_configure_widgets (GtkBuilder *builder)
     GtkWidget *cycle_hidden_check = GTK_WIDGET (gtk_builder_get_object (builder, "cycle_hidden_check"));
     GtkWidget *cycle_minimum_check = GTK_WIDGET (gtk_builder_get_object (builder, "cycle_minimum_check"));
     GtkWidget *cycle_draw_frame = GTK_WIDGET (gtk_builder_get_object (builder, "cycle_draw_frame"));
+    GtkWidget *cycle_raise = GTK_WIDGET (gtk_builder_get_object (builder, "cycle_raise"));
     GtkWidget *cycle_tabwin_mode = GTK_WIDGET (gtk_builder_get_object (builder, "cycle_tabwin_mode"));
 
     /* Focus tab */
@@ -318,6 +319,10 @@ wm_tweaks_dialog_configure_widgets (GtkBuilder *builder)
                             G_TYPE_BOOLEAN,
                             (GObject *)cycle_draw_frame, "active");
     xfconf_g_property_bind (xfwm4_channel,
+                            "/general/cycle_raise",
+                            G_TYPE_BOOLEAN,
+                            (GObject *)cycle_raise, "active");
+    xfconf_g_property_bind (xfwm4_channel,
                             "/general/cycle_tabwin_mode",
                             G_TYPE_INT,
                             (GObject *)cycle_tabwin_mode, "active");
diff --git a/settings-dialogs/xfwm4-tweaks-dialog.glade b/settings-dialogs/xfwm4-tweaks-dialog.glade
index af8c373..9e2cee5 100644
--- a/settings-dialogs/xfwm4-tweaks-dialog.glade
+++ b/settings-dialogs/xfwm4-tweaks-dialog.glade
@@ -175,6 +175,22 @@ or "skip taskbar" properties set</property>
                   </packing>
                 </child>
                 <child>
+                  <object class="GtkCheckButton" id="cycle_raise">
+                    <property name="label" translatable="yes">_Raise windows while cycling</property>
+                    <property name="use_action_appearance">False</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+                <child>
                   <object class="GtkCheckButton" id="cycle_tabwin_mode">
                     <property name="label" translatable="yes">Cycle through windows in a _list</property>
                     <property name="use_action_appearance">False</property>
@@ -187,7 +203,7 @@ or "skip taskbar" properties set</property>
                   <packing>
                     <property name="expand">False</property>
                     <property name="fill">False</property>
-                    <property name="position">4</property>
+                    <property name="position">5</property>
                   </packing>
                 </child>
               </object>
diff --git a/src/cycle.c b/src/cycle.c
index c897f7b..c7e8d4f 100644
--- a/src/cycle.c
+++ b/src/cycle.c
@@ -227,6 +227,10 @@ clientCycleUpdateWireframe (Client *c, ClientCycleData *passdata)
 {
     if (c)
     {
+        if (c->screen_info->params->cycle_raise)
+        {
+          clientRaise (c, None);
+        }
         if (passdata->wireframe)
         {
             wireframeUpdate (c, passdata->wireframe);
@@ -507,6 +511,10 @@ clientCycle (Client * c, XfwmEventKey *event)
     passdata.inside = FALSE;
 
     TRACE ("entering cycle loop");
+    if (screen_info->params->cycle_raise)
+    {
+      clientRaise ((Client *) selected->data, None);
+    }
     if (screen_info->params->cycle_draw_frame)
     {
         passdata.wireframe = wireframeCreate ((Client *) selected->data);
diff --git a/src/settings.c b/src/settings.c
index e028427..9c473e9 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -654,6 +654,7 @@ loadSettings (ScreenInfo *screen_info)
         {"click_to_focus", NULL, G_TYPE_BOOLEAN, TRUE},
         {"cycle_apps_only", NULL, G_TYPE_BOOLEAN, TRUE},
         {"cycle_draw_frame", NULL, G_TYPE_BOOLEAN, TRUE},
+        {"cycle_raise", NULL, G_TYPE_BOOLEAN, TRUE},
         {"cycle_hidden", NULL, G_TYPE_BOOLEAN, TRUE},
         {"cycle_minimum", NULL, G_TYPE_BOOLEAN, TRUE},
         {"cycle_preview", NULL, G_TYPE_BOOLEAN, TRUE},
@@ -751,6 +752,8 @@ loadSettings (ScreenInfo *screen_info)
         getBoolValue ("cycle_minimum", rc);
     screen_info->params->cycle_draw_frame =
         getBoolValue ("cycle_draw_frame", rc);
+    screen_info->params->cycle_raise =
+        getBoolValue ("cycle_raise", rc);
     screen_info->params->cycle_hidden =
         getBoolValue ("cycle_hidden", rc);
     screen_info->params->cycle_preview =
@@ -1280,6 +1283,10 @@ cb_xfwm4_channel_property_changed(XfconfChannel *channel, const gchar *property_
                 {
                     screen_info->params->cycle_draw_frame = g_value_get_boolean (value);
                 }
+                else if (!strcmp (name, "cycle_raise"))
+                {
+                    screen_info->params->cycle_raise = g_value_get_boolean (value);
+                }
                 else if (!strcmp (name, "cycle_hidden"))
                 {
                     screen_info->params->cycle_hidden = g_value_get_boolean (value);
diff --git a/src/settings.h b/src/settings.h
index 9d4994d..334acdd 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -201,6 +201,7 @@ struct _XfwmParams
     gboolean click_to_focus;
     gboolean cycle_apps_only;
     gboolean cycle_draw_frame;
+    gboolean cycle_raise;
     gboolean cycle_hidden;
     gboolean cycle_minimum;
     gboolean cycle_preview;

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


More information about the Xfce4-commits mailing list