diff -ur xfwm4-4.6.1-orig/defaults/defaults xfwm4-4.6.1/defaults/defaults
--- xfwm4-4.6.1-orig/defaults/defaults 2009-04-15 09:59:02.000000000 +0200
+++ xfwm4-4.6.1/defaults/defaults 2009-06-14 00:42:20.000000000 +0200
@@ -8,6 +8,7 @@
click_to_focus=true
cycle_draw_frame=true
cycle_hidden=true
+cycle_hidden_last=true
cycle_minimum=true
cycle_workspaces=false
dbl_click_time=400
Only in xfwm4-4.6.1-orig/settings-dialogs: monitor-icon.h
diff -ur xfwm4-4.6.1-orig/settings-dialogs/tweaks-settings.c xfwm4-4.6.1/settings-dialogs/tweaks-settings.c
--- xfwm4-4.6.1-orig/settings-dialogs/tweaks-settings.c 2009-04-15 09:58:52.000000000 +0200
+++ xfwm4-4.6.1/settings-dialogs/tweaks-settings.c 2009-06-14 00:45:12.000000000 +0200
@@ -159,6 +159,7 @@
/* Cycling tab */
GtkWidget *cycle_workspaces_check = glade_xml_get_widget (gxml, "cycle_workspaces_check");
GtkWidget *cycle_hidden_check = glade_xml_get_widget (gxml, "cycle_hidden_check");
+ GtkWidget *cycle_hidden_last_check = glade_xml_get_widget (gxml, "cycle_hidden_last_check");
GtkWidget *cycle_minimum_check = glade_xml_get_widget (gxml, "cycle_minimum_check");
GtkWidget *cycle_draw_frame = glade_xml_get_widget (gxml, "cycle_draw_frame");
@@ -297,6 +298,10 @@
G_TYPE_BOOLEAN,
(GObject *)cycle_hidden_check, "active");
xfconf_g_property_bind (xfwm4_channel,
+ "/general/cycle_hidden_last",
+ G_TYPE_BOOLEAN,
+ (GObject *)cycle_hidden_last_check, "active");
+ xfconf_g_property_bind (xfwm4_channel,
"/general/cycle_workspaces",
G_TYPE_BOOLEAN,
(GObject *)cycle_workspaces_check, "active");
diff -ur xfwm4-4.6.1-orig/settings-dialogs/xfwm4-tweaks-dialog.glade xfwm4-4.6.1/settings-dialogs/xfwm4-tweaks-dialog.glade
--- xfwm4-4.6.1-orig/settings-dialogs/xfwm4-tweaks-dialog.glade 2009-04-15 09:58:52.000000000 +0200
+++ xfwm4-4.6.1/settings-dialogs/xfwm4-tweaks-dialog.glade 2009-06-14 02:54:50.000000000 +0200
@@ -55,6 +55,21 @@
+
+ True
+ True
+ _Hidden windows are shown last in cycle list
+ True
+ 0
+ True
+
+
+ False
+ False
+ 2
+
+
+
True
True
@@ -66,7 +81,7 @@
False
False
- 2
+ 3
@@ -81,7 +96,7 @@
False
False
- 3
+ 4
Only in xfwm4-4.6.1/settings-dialogs: xfwm4-tweaks-dialog.glade.orig
diff -ur xfwm4-4.6.1-orig/src/client.c xfwm4-4.6.1/src/client.c
--- xfwm4-4.6.1-orig/src/client.c 2009-04-15 09:58:59.000000000 +0200
+++ xfwm4-4.6.1/src/client.c 2009-06-14 00:54:52.000000000 +0200
@@ -2399,7 +2399,7 @@
{
FLAG_SET (c->flags, CLIENT_FLAG_ICONIFIED);
setWMState (display_info, c->window, IconicState);
- if (!screen_info->show_desktop)
+ if (!screen_info->show_desktop && screen_info->params->cycle_hidden_last)
{
clientSetLast (c);
}
diff -ur xfwm4-4.6.1-orig/src/settings.c xfwm4-4.6.1/src/settings.c
--- xfwm4-4.6.1-orig/src/settings.c 2009-04-15 09:58:59.000000000 +0200
+++ xfwm4-4.6.1/src/settings.c 2009-06-14 00:39:47.000000000 +0200
@@ -663,6 +663,7 @@
{"focus_delay", NULL, G_TYPE_INT, TRUE},
{"cycle_draw_frame", NULL, G_TYPE_BOOLEAN, TRUE},
{"cycle_hidden", NULL, G_TYPE_BOOLEAN, TRUE},
+ {"cycle_hidden_last", NULL, G_TYPE_BOOLEAN, TRUE},
{"cycle_minimum", NULL, G_TYPE_BOOLEAN, TRUE},
{"cycle_workspaces", NULL, G_TYPE_BOOLEAN, TRUE},
{"dbl_click_time", NULL, G_TYPE_INT, TRUE},
@@ -748,6 +749,8 @@
getBoolValue ("cycle_draw_frame", rc);
screen_info->params->cycle_hidden =
getBoolValue ("cycle_hidden", rc);
+ screen_info->params->cycle_hidden_last =
+ getBoolValue ("cycle_hidden_last", rc);
screen_info->params->cycle_workspaces =
getBoolValue ("cycle_workspaces", rc);
screen_info->params->focus_hint =
@@ -1255,6 +1258,10 @@
{
screen_info->params->cycle_hidden = g_value_get_boolean (value);
}
+ else if (!strcmp (name, "cycle_hidden_last"))
+ {
+ screen_info->params->cycle_hidden_last = g_value_get_boolean (value);
+ }
else if (!strcmp (name, "cycle_workspaces"))
{
screen_info->params->cycle_workspaces = g_value_get_boolean (value);
diff -ur xfwm4-4.6.1-orig/src/settings.h xfwm4-4.6.1/src/settings.h
--- xfwm4-4.6.1-orig/src/settings.h 2009-04-15 09:58:59.000000000 +0200
+++ xfwm4-4.6.1/src/settings.h 2009-06-14 00:40:05.000000000 +0200
@@ -196,6 +196,7 @@
gboolean click_to_focus;
gboolean cycle_draw_frame;
gboolean cycle_hidden;
+ gboolean cycle_hidden_last;
gboolean cycle_minimum;
gboolean cycle_workspaces;
gboolean focus_hint;
Only in xfwm4-4.6.1-orig/: xfwm4.spec