diff -uar xfwm4-4.3.99.2/src/client.c xfwm4-4.3.99.2-my/src/client.c --- xfwm4-4.3.99.2/src/client.c 2006-11-05 10:53:21.000000000 +0100 +++ xfwm4-4.3.99.2-my/src/client.c 2006-12-24 17:17:42.000000000 +0100 @@ -4619,6 +4619,8 @@ if (c) { wireframeUpdate (c, passdata->wireframe); + if (c->screen_info->params->cycle_raise) + clientRaise (c, None); } else { @@ -4716,6 +4718,8 @@ GdkPixbuf *icon; TRACE ("entering cycle loop"); + if (c->screen_info->params->cycle_raise) + clientRaise (passdata.c, None); passdata.wireframe = wireframeCreate (passdata.c); icon = getAppIcon (display_info, passdata.c->window, 32, 32); passdata.tabwin = tabwinCreate (passdata.c->screen_info->gscr, c, diff -uar xfwm4-4.3.99.2/src/settings.c xfwm4-4.3.99.2-my/src/settings.c --- xfwm4-4.3.99.2/src/settings.c 2006-11-05 10:53:21.000000000 +0100 +++ xfwm4-4.3.99.2-my/src/settings.c 2006-12-24 18:08:03.000000000 +0100 @@ -364,6 +364,10 @@ screen_info->params->borderless_maximize = setting->data.v_int; reloadScreenSettings (screen_info, UPDATE_MAXIMIZE); } + else if (!strcmp (name, "Xfwm/CycleRaise")) + { + screen_info->params->cycle_raise = setting->data.v_int; + } else if (!strcmp (name, "Xfwm/CycleMinimum")) { screen_info->params->cycle_minimum = setting->data.v_int; @@ -726,6 +730,12 @@ setBooleanValueFromInt ("borderless_maximize", setting->data.v_int, rc); mcs_setting_free (setting); } + if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/CycleRaise", CHANNEL5, + &setting) == MCS_SUCCESS) + { + setBooleanValueFromInt ("cycle_raise", setting->data.v_int, rc); + mcs_setting_free (setting); + } if (mcs_client_get_setting (screen_info->mcs_client, "Xfwm/CycleMinimum", CHANNEL5, &setting) == MCS_SUCCESS) { @@ -1297,6 +1307,7 @@ {"button_offset", NULL, TRUE}, {"button_spacing", NULL, TRUE}, {"click_to_focus", NULL, TRUE}, + {"cycle_raise", NULL, TRUE}, {"cycle_hidden", NULL, TRUE}, {"cycle_minimum", NULL, TRUE}, {"cycle_workspaces", NULL, TRUE}, @@ -1437,6 +1448,8 @@ !g_ascii_strcasecmp ("true", getValue ("box_move", rc)); screen_info->params->click_to_focus = !g_ascii_strcasecmp ("true", getValue ("click_to_focus", rc)); + screen_info->params->cycle_raise = + !g_ascii_strcasecmp ("true", getValue ("cycle_raise", rc)); screen_info->params->cycle_minimum = !g_ascii_strcasecmp ("true", getValue ("cycle_minimum", rc)); screen_info->params->cycle_hidden = diff -uar xfwm4-4.3.99.2/src/settings.h xfwm4-4.3.99.2-my/src/settings.h --- xfwm4-4.3.99.2/src/settings.h 2006-11-05 10:53:21.000000000 +0100 +++ xfwm4-4.3.99.2-my/src/settings.h 2006-12-24 17:09:27.000000000 +0100 @@ -198,6 +198,7 @@ gboolean box_move; gboolean box_resize; gboolean click_to_focus; + gboolean cycle_raise; gboolean cycle_hidden; gboolean cycle_minimum; gboolean cycle_workspaces;