[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