*** xfwm4/src/client.c Fri Jul 3 12:18:28 2015 --- xfwm4-spl/src/client.c Fri Jul 3 14:16:22 2015 *************** *** 1539,1545 **** clientRestoreSizePos (Client *c) { g_return_val_if_fail (c != NULL, FALSE); - if (FLAG_TEST (c->flags, CLIENT_FLAG_RESTORE_SIZE_POS)) { c->x = c->old_x; --- 1539,1544 ---- *************** *** 1550,1556 **** FLAG_UNSET (c->flags, CLIENT_FLAG_RESTORE_SIZE_POS); return TRUE; } - return FALSE; } --- 1549,1554 ---- *************** *** 3340,3346 **** g_return_val_if_fail (c != NULL, FALSE); TRACE ("entering clientToggleMaximized"); ! TRACE ("maximzing/unmaximizing client \"%s\" (0x%lx)", c->name, c->window); if (!CLIENT_CAN_MAXIMIZE_WINDOW (c)) { --- 3338,3345 ---- g_return_val_if_fail (c != NULL, FALSE); TRACE ("entering clientToggleMaximized"); ! TRACE ("maximizing/unmaximizing client \"%s\" (0x%lx)", c->name, c->window); ! TRACE ("restore_position %s", restore_position ? "True" : "False" ); if (!CLIENT_CAN_MAXIMIZE_WINDOW (c)) { *** xfwm4/src/moveresize.c Fri Jul 3 12:18:28 2015 --- xfwm4-spl/src/moveresize.c Fri Jul 3 14:15:08 2015 *************** *** 1023,1029 **** xevent->xmotion.time); } ! if (FLAG_TEST (c->flags, CLIENT_FLAG_RESTORE_SIZE_POS)) { if ((ABS (xevent->xmotion.x_root - passdata->mx) > 15) || --- 1023,1030 ---- xevent->xmotion.time); } ! if (FLAG_TEST (c->flags, CLIENT_FLAG_RESTORE_SIZE_POS) && ! !c->screen_info->params->prevent_unmaximize_on_move) { if ((ABS (xevent->xmotion.x_root - passdata->mx) > 15) || *** xfwm4/src/settings.c Fri Jul 3 12:18:28 2015 --- xfwm4-spl/src/settings.c Fri Jul 3 12:42:28 2015 *************** *** 742,747 **** --- 742,748 ---- {"placement_ratio", NULL, G_TYPE_INT, TRUE}, {"popup_opacity", NULL, G_TYPE_INT, TRUE}, {"prevent_focus_stealing", NULL, G_TYPE_BOOLEAN, TRUE}, + {"prevent_unmaximize_on_move", NULL, G_TYPE_BOOLEAN, TRUE}, {"raise_delay", NULL, G_TYPE_INT, TRUE}, {"raise_on_click", NULL, G_TYPE_BOOLEAN, TRUE}, {"raise_on_focus", NULL, G_TYPE_BOOLEAN, TRUE}, *************** *** 830,835 **** --- 831,838 ---- getBoolValue ("mousewheel_rollup", rc); screen_info->params->prevent_focus_stealing = getBoolValue ("prevent_focus_stealing", rc); + screen_info->params->prevent_unmaximize_on_move = + getBoolValue ("prevent_unmaximize_on_move", rc); screen_info->params->raise_delay = getIntValue ("raise_delay", rc); screen_info->params->raise_on_focus = *************** *** 1369,1374 **** --- 1372,1381 ---- { screen_info->params->prevent_focus_stealing = g_value_get_boolean (value); } + else if (!strcmp (name, "prevent_unmaximize_on_move")) + { + screen_info->params->prevent_unmaximize_on_move = g_value_get_boolean (value); + } else if (!strcmp (name, "raise_with_any_button")) { screen_info->params->raise_with_any_button = g_value_get_boolean (value); *** xfwm4/src/settings.h Fri Jul 3 12:18:28 2015 --- xfwm4-spl/src/settings.h Fri Jul 3 12:26:45 2015 *************** *** 218,223 **** --- 218,224 ---- gboolean horiz_scroll_opacity; gboolean mousewheel_rollup; gboolean prevent_focus_stealing; + gboolean prevent_unmaximize_on_move; gboolean raise_on_click; gboolean raise_on_focus; gboolean raise_with_any_button;