diff --git a/defaults/defaults b/defaults/defaults index 99e06fc103cfbe4d1ebb6f50c9470c57f3b07086..b4777714a1d054e1211fae329ea35460fcd6f0ed 100644 --- a/defaults/defaults +++ b/defaults/defaults @@ -35,6 +35,6 @@ workspace_count=4 wrap_resistance=10 wrap_windows=true wrap_workspaces=false -wrap_layout=false +wrap_layout=true wrap_cycle=true scroll_workspaces=true diff --git a/src/client.c b/src/client.c index 059f4b6d2e49270413af055a312f9eccf1671afd..cce862e52921972aff5ad4afa6c67ad3447a2f82 100644 --- a/src/client.c +++ b/src/client.c @@ -2132,10 +2132,8 @@ clientToggleShowDesktop (ScreenInfo *screen_info, gboolean show_desktop) && FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER) && !FLAG_TEST (c->flags, CLIENT_FLAG_ICONIFIED)) { - { - FLAG_SET (c->xfwm_flags, XFWM_FLAG_WAS_SHOWN); - clientHide (c, c->win_workspace, TRUE); - } + FLAG_SET (c->xfwm_flags, XFWM_FLAG_WAS_SHOWN); + clientHide (c, c->win_workspace, TRUE); } } clientFocusTop (screen_info, WIN_LAYER_DESKTOP); @@ -2147,9 +2145,7 @@ clientToggleShowDesktop (ScreenInfo *screen_info, gboolean show_desktop) Client *c = (Client *) index->data; if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_WAS_SHOWN)) { - { - clientShow (c, TRUE); - } + clientShow (c, TRUE); } FLAG_UNSET (c->xfwm_flags, XFWM_FLAG_WAS_SHOWN); } diff --git a/src/workspaces.c b/src/workspaces.c index ec8ba79b5b421d059da2245e7adb604bb5204db1..9ca2bed7e3b18659aefca3162fe867369bb4a02b 100644 --- a/src/workspaces.c +++ b/src/workspaces.c @@ -170,7 +170,7 @@ modify_with_wrap (int value, int by, int limit, gboolean wrap) gboolean workspaceMove (ScreenInfo *screen_info, int rowmod, int colmod, Client * c2) { - int row, col, newrow, newcol, n; + int row, col, newrow, newcol, previous_ws, n; workspaceGetPosition(screen_info, screen_info->current_ws, &row, &col); newrow = modify_with_wrap(row, rowmod, screen_info->desktop_layout.rows, screen_info->params->wrap_layout); @@ -182,7 +182,8 @@ workspaceMove (ScreenInfo *screen_info, int rowmod, int colmod, Client * c2) return FALSE; } - if (n < screen_info->workspace_count) + previous_ws = screen_info->current_ws; + if ((n >= 0) && (n < screen_info->workspace_count)) { workspaceSwitch(screen_info, n, c2); } @@ -208,15 +209,15 @@ workspaceMove (ScreenInfo *screen_info, int rowmod, int colmod, Client * c2) } else { - g_return_val_if_fail(FALSE, FALSE); + return FALSE; } n = workspaceGetNumber(screen_info, newrow, newcol); } - g_return_val_if_fail(n < screen_info->workspace_count, FALSE); workspaceSwitch(screen_info, n, c2); } - return TRUE; + + return (screen_info->current_ws != previous_ws); } void