mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 20:38:08 +01:00
Variable workspace_count moved to the workspace object in the global namespace
The variable workspace_count, that contains the number of workspaces is moved to the global workspace properties. Now the screen is not needed to know the workspace_count.
This commit is contained in:
committed by
Carlos R. Mafra
parent
f60e65001b
commit
9e103a46e9
@@ -483,6 +483,8 @@ extern struct wmaker_global_variables {
|
|||||||
|
|
||||||
/* Workspace related */
|
/* Workspace related */
|
||||||
struct {
|
struct {
|
||||||
|
int count; /* number of workspaces */
|
||||||
|
|
||||||
WMFont *font_for_name; /* used during workspace switch */
|
WMFont *font_for_name; /* used during workspace switch */
|
||||||
} workspace;
|
} workspace;
|
||||||
|
|
||||||
|
|||||||
@@ -861,7 +861,7 @@ Bool wHandleAppIconMove(WAppIcon *aicon, XEvent *event)
|
|||||||
|
|
||||||
if (omnipresent && !showed_all_clips) {
|
if (omnipresent && !showed_all_clips) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (i == scr->current_workspace)
|
if (i == scr->current_workspace)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -1067,7 +1067,7 @@ Bool wHandleAppIconMove(WAppIcon *aicon, XEvent *event)
|
|||||||
}
|
}
|
||||||
if (showed_all_clips) {
|
if (showed_all_clips) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (i == scr->current_workspace)
|
if (i == scr->current_workspace)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -1150,7 +1150,7 @@ static void create_appicon_from_dock(WWindow *wwin, WApplication *wapp, Window m
|
|||||||
/* check clips */
|
/* check clips */
|
||||||
if (!wapp->app_icon) {
|
if (!wapp->app_icon) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
WDock *dock = scr->workspaces[i]->clip;
|
WDock *dock = scr->workspaces[i]->clip;
|
||||||
|
|
||||||
if (dock)
|
if (dock)
|
||||||
|
|||||||
14
src/dock.c
14
src/dock.c
@@ -594,7 +594,7 @@ static void toggleAutoAttractCallback(WMenu *menu, WMenuEntry *entry)
|
|||||||
} else if (dock->type == WM_DRAWER) {
|
} else if (dock->type == WM_DRAWER) {
|
||||||
/* check if at least one clip already auto attracts icons */
|
/* check if at least one clip already auto attracts icons */
|
||||||
int i, ask_for_confirmation = False;
|
int i, ask_for_confirmation = False;
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (scr->workspaces[ i ]->clip->attract_icons) {
|
if (scr->workspaces[ i ]->clip->attract_icons) {
|
||||||
ask_for_confirmation = True;
|
ask_for_confirmation = True;
|
||||||
break;
|
break;
|
||||||
@@ -620,7 +620,7 @@ static void toggleAutoAttractCallback(WMenu *menu, WMenuEntry *entry)
|
|||||||
/* The newly auto-attracting dock is a drawer: disable any clip and
|
/* The newly auto-attracting dock is a drawer: disable any clip and
|
||||||
* previously attracting drawer */
|
* previously attracting drawer */
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < scr->workspace_count; i++)
|
for (i = 0; i < w_global.workspace.count; i++)
|
||||||
scr->workspaces[ i ]->clip->attract_icons = False;
|
scr->workspaces[ i ]->clip->attract_icons = False;
|
||||||
/* dock menu will be updated later, when opened */
|
/* dock menu will be updated later, when opened */
|
||||||
|
|
||||||
@@ -942,7 +942,7 @@ static void updateWorkspaceMenu(WMenu *menu, WAppIcon *icon)
|
|||||||
if (!menu || !icon)
|
if (!menu || !icon)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (i < menu->entry_no) {
|
if (i < menu->entry_no) {
|
||||||
if (strcmp(menu->entries[i]->text, scr->workspaces[i]->name) != 0) {
|
if (strcmp(menu->entries[i]->text, scr->workspaces[i]->name) != 0) {
|
||||||
wfree(menu->entries[i]->text);
|
wfree(menu->entries[i]->text);
|
||||||
@@ -2578,7 +2578,7 @@ Bool wDockSnapIcon(WDock *dock, WAppIcon *icon, int req_x, int req_y, int *ret_x
|
|||||||
int start, stop, k;
|
int start, stop, k;
|
||||||
|
|
||||||
start = icon->omnipresent ? 0 : scr->current_workspace;
|
start = icon->omnipresent ? 0 : scr->current_workspace;
|
||||||
stop = icon->omnipresent ? scr->workspace_count : start + 1;
|
stop = icon->omnipresent ? w_global.workspace.count : start + 1;
|
||||||
|
|
||||||
aicon = NULL;
|
aicon = NULL;
|
||||||
for (k = start; k < stop; k++) {
|
for (k = start; k < stop; k++) {
|
||||||
@@ -3897,7 +3897,7 @@ static void handleClipChangeWorkspace(WScreen *scr, XEvent *event)
|
|||||||
new_ws = wPreferences.ws_advance || (event->xbutton.state & ControlMask);
|
new_ws = wPreferences.ws_advance || (event->xbutton.state & ControlMask);
|
||||||
|
|
||||||
if (direction == CLIP_FORWARD) {
|
if (direction == CLIP_FORWARD) {
|
||||||
if (scr->current_workspace < scr->workspace_count - 1)
|
if (scr->current_workspace < w_global.workspace.count - 1)
|
||||||
wWorkspaceChange(scr, scr->current_workspace + 1);
|
wWorkspaceChange(scr, scr->current_workspace + 1);
|
||||||
else if (new_ws && scr->current_workspace < MAX_WORKSPACES - 1)
|
else if (new_ws && scr->current_workspace < MAX_WORKSPACES - 1)
|
||||||
wWorkspaceChange(scr, scr->current_workspace + 1);
|
wWorkspaceChange(scr, scr->current_workspace + 1);
|
||||||
@@ -3907,7 +3907,7 @@ static void handleClipChangeWorkspace(WScreen *scr, XEvent *event)
|
|||||||
if (scr->current_workspace > 0)
|
if (scr->current_workspace > 0)
|
||||||
wWorkspaceChange(scr, scr->current_workspace - 1);
|
wWorkspaceChange(scr, scr->current_workspace - 1);
|
||||||
else if (scr->current_workspace == 0 && wPreferences.ws_cycle)
|
else if (scr->current_workspace == 0 && wPreferences.ws_cycle)
|
||||||
wWorkspaceChange(scr, scr->workspace_count - 1);
|
wWorkspaceChange(scr, w_global.workspace.count - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
wClipIconPaint(scr->clip_icon);
|
wClipIconPaint(scr->clip_icon);
|
||||||
@@ -4150,7 +4150,7 @@ static Bool iconCanBeOmnipresent(WAppIcon *aicon)
|
|||||||
WAppIcon *btn;
|
WAppIcon *btn;
|
||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
clip = scr->workspaces[i]->clip;
|
clip = scr->workspaces[i]->clip;
|
||||||
|
|
||||||
if (clip == aicon->dock)
|
if (clip == aicon->dock)
|
||||||
|
|||||||
@@ -1567,7 +1567,7 @@ static void handleKeyPress(XEvent * event)
|
|||||||
case WKBD_WORKSPACE1 ... WKBD_WORKSPACE10:
|
case WKBD_WORKSPACE1 ... WKBD_WORKSPACE10:
|
||||||
widx = command - WKBD_WORKSPACE1;
|
widx = command - WKBD_WORKSPACE1;
|
||||||
i = (scr->current_workspace / 10) * 10 + widx;
|
i = (scr->current_workspace / 10) * 10 + widx;
|
||||||
if (wPreferences.ws_advance || i < scr->workspace_count)
|
if (wPreferences.ws_advance || i < w_global.workspace.count)
|
||||||
wWorkspaceChange(scr, i);
|
wWorkspaceChange(scr, i);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1584,7 +1584,7 @@ static void handleKeyPress(XEvent * event)
|
|||||||
case WKBD_MOVE_WORKSPACE1 ... WKBD_MOVE_WORKSPACE10:
|
case WKBD_MOVE_WORKSPACE1 ... WKBD_MOVE_WORKSPACE10:
|
||||||
widx = command - WKBD_MOVE_WORKSPACE1;
|
widx = command - WKBD_MOVE_WORKSPACE1;
|
||||||
i = (scr->current_workspace / 10) * 10 + widx;
|
i = (scr->current_workspace / 10) * 10 + widx;
|
||||||
if (wwin && (wPreferences.ws_advance || i < scr->workspace_count))
|
if (wwin && (wPreferences.ws_advance || i < w_global.workspace.count))
|
||||||
wWindowChangeWorkspace(wwin, i);
|
wWindowChangeWorkspace(wwin, i);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1611,7 +1611,7 @@ static void handleKeyPress(XEvent * event)
|
|||||||
column = scr->current_workspace % 10;
|
column = scr->current_workspace % 10;
|
||||||
|
|
||||||
if (command == WKBD_MOVE_NEXTWSLAYER) {
|
if (command == WKBD_MOVE_NEXTWSLAYER) {
|
||||||
if ((row + 1) * 10 < scr->workspace_count)
|
if ((row + 1) * 10 < w_global.workspace.count)
|
||||||
wWindowChangeWorkspace(wwin, column + (row + 1) * 10);
|
wWindowChangeWorkspace(wwin, column + (row + 1) * 10);
|
||||||
} else {
|
} else {
|
||||||
if (row > 0)
|
if (row > 0)
|
||||||
@@ -1731,7 +1731,7 @@ static void handleKeyPress(XEvent * event)
|
|||||||
column = scr->current_workspace % 10;
|
column = scr->current_workspace % 10;
|
||||||
|
|
||||||
if (command == WKBD_NEXTWSLAYER) {
|
if (command == WKBD_NEXTWSLAYER) {
|
||||||
if ((row + 1) * 10 < scr->workspace_count)
|
if ((row + 1) * 10 < w_global.workspace.count)
|
||||||
wWorkspaceChange(scr, column + (row + 1) * 10);
|
wWorkspaceChange(scr, column + (row + 1) * 10);
|
||||||
} else {
|
} else {
|
||||||
if (row > 0)
|
if (row > 0)
|
||||||
|
|||||||
@@ -842,13 +842,13 @@ static Bool checkWorkspaceChange(WWindow * wwin, MoveData * data, Bool opaqueMov
|
|||||||
changed = True;
|
changed = True;
|
||||||
data->rubCount = 0;
|
data->rubCount = 0;
|
||||||
} else if (scr->current_workspace == 0 && wPreferences.ws_cycle) {
|
} else if (scr->current_workspace == 0 && wPreferences.ws_cycle) {
|
||||||
crossWorkspace(scr, wwin, opaqueMove, scr->workspace_count - 1, True);
|
crossWorkspace(scr, wwin, opaqueMove, w_global.workspace.count - 1, True);
|
||||||
changed = True;
|
changed = True;
|
||||||
data->rubCount = 0;
|
data->rubCount = 0;
|
||||||
}
|
}
|
||||||
} else if (data->mouseX >= scr->scr_width - 2) {
|
} else if (data->mouseX >= scr->scr_width - 2) {
|
||||||
if (scr->current_workspace == scr->workspace_count - 1) {
|
if (scr->current_workspace == w_global.workspace.count - 1) {
|
||||||
if (wPreferences.ws_cycle || scr->workspace_count == MAX_WORKSPACES) {
|
if (wPreferences.ws_cycle || w_global.workspace.count == MAX_WORKSPACES) {
|
||||||
crossWorkspace(scr, wwin, opaqueMove, 0, False);
|
crossWorkspace(scr, wwin, opaqueMove, 0, False);
|
||||||
changed = True;
|
changed = True;
|
||||||
data->rubCount = 0;
|
data->rubCount = 0;
|
||||||
@@ -876,7 +876,7 @@ static Bool checkWorkspaceChange(WWindow * wwin, MoveData * data, Bool opaqueMov
|
|||||||
changed = True;
|
changed = True;
|
||||||
data->rubCount = 0;
|
data->rubCount = 0;
|
||||||
}
|
}
|
||||||
} else if (scr->current_workspace < scr->workspace_count) {
|
} else if (scr->current_workspace < w_global.workspace.count) {
|
||||||
/* go to next workspace */
|
/* go to next workspace */
|
||||||
crossWorkspace(scr, wwin, opaqueMove, scr->current_workspace + 1, False);
|
crossWorkspace(scr, wwin, opaqueMove, scr->current_workspace + 1, False);
|
||||||
changed = True;
|
changed = True;
|
||||||
@@ -1388,13 +1388,13 @@ int wKeyboardMoveResizeWindow(WWindow * wwin)
|
|||||||
if (wPreferences.ws_cycle) {
|
if (wPreferences.ws_cycle) {
|
||||||
if (src_x + off_x + ww < 20) {
|
if (src_x + off_x + ww < 20) {
|
||||||
if (!scr->current_workspace)
|
if (!scr->current_workspace)
|
||||||
wWorkspaceChange(scr, scr->workspace_count - 1);
|
wWorkspaceChange(scr, w_global.workspace.count - 1);
|
||||||
else
|
else
|
||||||
wWorkspaceChange(scr, scr->current_workspace - 1);
|
wWorkspaceChange(scr, scr->current_workspace - 1);
|
||||||
|
|
||||||
off_x += scr_width;
|
off_x += scr_width;
|
||||||
} else if (src_x + off_x + 20 > scr_width) {
|
} else if (src_x + off_x + 20 > scr_width) {
|
||||||
if (scr->current_workspace == scr->workspace_count - 1)
|
if (scr->current_workspace == w_global.workspace.count - 1)
|
||||||
wWorkspaceChange(scr, 0);
|
wWorkspaceChange(scr, 0);
|
||||||
else
|
else
|
||||||
wWorkspaceChange(scr, scr->current_workspace + 1);
|
wWorkspaceChange(scr, scr->current_workspace + 1);
|
||||||
|
|||||||
@@ -121,8 +121,6 @@ typedef struct _WScreen {
|
|||||||
|
|
||||||
int window_count; /* number of windows in window_list */
|
int window_count; /* number of windows in window_list */
|
||||||
|
|
||||||
int workspace_count; /* number of workspaces */
|
|
||||||
|
|
||||||
struct WWorkspace **workspaces; /* workspace array */
|
struct WWorkspace **workspaces; /* workspace array */
|
||||||
|
|
||||||
int current_workspace; /* current workspace number */
|
int current_workspace; /* current workspace number */
|
||||||
|
|||||||
@@ -237,10 +237,10 @@ static WMPropList *makeWindowState(WWindow * wwin, WApplication * wapp)
|
|||||||
|
|
||||||
/* Try the clips */
|
/* Try the clips */
|
||||||
if (name == NULL) {
|
if (name == NULL) {
|
||||||
for (i = 0; i < scr->workspace_count; i++)
|
for (i = 0; i < w_global.workspace.count; i++)
|
||||||
if (scr->workspaces[i]->clip == wapp->app_icon->dock)
|
if (scr->workspaces[i]->clip == wapp->app_icon->dock)
|
||||||
break;
|
break;
|
||||||
if (i < scr->workspace_count)
|
if (i < w_global.workspace.count)
|
||||||
name = scr->workspaces[i]->name;
|
name = scr->workspaces[i]->name;
|
||||||
}
|
}
|
||||||
/* Try the drawers */
|
/* Try the drawers */
|
||||||
@@ -382,7 +382,7 @@ static WSavedState *getWindowState(WScreen * scr, WMPropList * win_state)
|
|||||||
tmp = WMGetFromPLString(value);
|
tmp = WMGetFromPLString(value);
|
||||||
if (sscanf(tmp, "%i", &state->workspace) != 1) {
|
if (sscanf(tmp, "%i", &state->workspace) != 1) {
|
||||||
state->workspace = -1;
|
state->workspace = -1;
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (strcmp(scr->workspaces[i]->name, tmp) == 0) {
|
if (strcmp(scr->workspaces[i]->name, tmp) == 0) {
|
||||||
state->workspace = i;
|
state->workspace = i;
|
||||||
break;
|
break;
|
||||||
@@ -471,7 +471,7 @@ void wSessionRestoreState(WScreen *scr)
|
|||||||
|
|
||||||
/* Try the clips */
|
/* Try the clips */
|
||||||
if (dock == NULL) {
|
if (dock == NULL) {
|
||||||
for (j = 0; j < scr->workspace_count; j++) {
|
for (j = 0; j < w_global.workspace.count; j++) {
|
||||||
if (strcmp(scr->workspaces[j]->name, tmp) == 0) {
|
if (strcmp(scr->workspaces[j]->name, tmp) == 0) {
|
||||||
dock = scr->workspaces[j]->clip;
|
dock = scr->workspaces[j]->clip;
|
||||||
break;
|
break;
|
||||||
@@ -493,7 +493,7 @@ void wSessionRestoreState(WScreen *scr)
|
|||||||
} else {
|
} else {
|
||||||
if (n == 0) {
|
if (n == 0) {
|
||||||
dock = scr->dock;
|
dock = scr->dock;
|
||||||
} else if (n > 0 && n <= scr->workspace_count) {
|
} else if (n > 0 && n <= w_global.workspace.count) {
|
||||||
dock = scr->workspaces[n - 1]->clip;
|
dock = scr->workspaces[n - 1]->clip;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -556,6 +556,6 @@ void wSessionRestoreLastWorkspace(WScreen * scr)
|
|||||||
/* Get the workspace number for the workspace name */
|
/* Get the workspace number for the workspace name */
|
||||||
w = wGetWorkspaceNumber(scr, value);
|
w = wGetWorkspaceNumber(scr, value);
|
||||||
|
|
||||||
if (w != scr->current_workspace && w < scr->workspace_count)
|
if (w != scr->current_workspace && w < w_global.workspace.count)
|
||||||
wWorkspaceChange(scr, w);
|
wWorkspaceChange(scr, w);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -719,7 +719,7 @@ void StartUp(Bool defaultScreenOnly)
|
|||||||
/* auto-launch apps in clip */
|
/* auto-launch apps in clip */
|
||||||
if (!wPreferences.flags.noclip) {
|
if (!wPreferences.flags.noclip) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < wScreen[j]->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (wScreen[j]->workspaces[i]->clip) {
|
if (wScreen[j]->workspaces[i]->clip) {
|
||||||
wScreen[j]->last_dock = wScreen[j]->workspaces[i]->clip;
|
wScreen[j]->last_dock = wScreen[j]->workspaces[i]->clip;
|
||||||
wDockDoAutoLaunch(wScreen[j]->workspaces[i]->clip, i);
|
wDockDoAutoLaunch(wScreen[j]->workspaces[i]->clip, i);
|
||||||
|
|||||||
20
src/window.c
20
src/window.c
@@ -379,7 +379,7 @@ void wWindowSetupInitialAttributes(WWindow *wwin, int *level, int *workspace)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (tmp_workspace >= 0)
|
if (tmp_workspace >= 0)
|
||||||
*workspace = tmp_workspace % scr->workspace_count;
|
*workspace = tmp_workspace % w_global.workspace.count;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -841,9 +841,9 @@ WWindow *wManageWindow(WScreen *scr, Window window)
|
|||||||
if (!IS_OMNIPRESENT(wwin)) {
|
if (!IS_OMNIPRESENT(wwin)) {
|
||||||
int w = wDefaultGetStartWorkspace(scr, wwin->wm_instance,
|
int w = wDefaultGetStartWorkspace(scr, wwin->wm_instance,
|
||||||
wwin->wm_class);
|
wwin->wm_class);
|
||||||
if (w < 0 || w >= scr->workspace_count) {
|
if (w < 0 || w >= w_global.workspace.count) {
|
||||||
workspace = win_state->state->workspace;
|
workspace = win_state->state->workspace;
|
||||||
if (workspace >= scr->workspace_count)
|
if (workspace >= w_global.workspace.count)
|
||||||
workspace = scr->current_workspace;
|
workspace = scr->current_workspace;
|
||||||
} else {
|
} else {
|
||||||
workspace = w;
|
workspace = w;
|
||||||
@@ -912,14 +912,14 @@ WWindow *wManageWindow(WScreen *scr, Window window)
|
|||||||
|
|
||||||
/* set workspace on which the window starts */
|
/* set workspace on which the window starts */
|
||||||
if (workspace >= 0) {
|
if (workspace >= 0) {
|
||||||
if (workspace > scr->workspace_count - 1)
|
if (workspace > w_global.workspace.count - 1)
|
||||||
workspace = workspace % scr->workspace_count;
|
workspace = workspace % w_global.workspace.count;
|
||||||
} else {
|
} else {
|
||||||
int w;
|
int w;
|
||||||
|
|
||||||
w = wDefaultGetStartWorkspace(scr, wwin->wm_instance, wwin->wm_class);
|
w = wDefaultGetStartWorkspace(scr, wwin->wm_instance, wwin->wm_class);
|
||||||
|
|
||||||
if (w >= 0 && w < scr->workspace_count && !(IS_OMNIPRESENT(wwin))) {
|
if (w >= 0 && w < w_global.workspace.count && !(IS_OMNIPRESENT(wwin))) {
|
||||||
workspace = w;
|
workspace = w;
|
||||||
} else {
|
} else {
|
||||||
if (wPreferences.open_transients_with_parent && transientOwner)
|
if (wPreferences.open_transients_with_parent && transientOwner)
|
||||||
@@ -1866,7 +1866,7 @@ void wWindowChangeWorkspace(WWindow *wwin, int workspace)
|
|||||||
WApplication *wapp;
|
WApplication *wapp;
|
||||||
int unmap = 0;
|
int unmap = 0;
|
||||||
|
|
||||||
if (workspace >= scr->workspace_count || workspace < 0 || workspace == wwin->frame->workspace)
|
if (workspace >= w_global.workspace.count || workspace < 0 || workspace == wwin->frame->workspace)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (workspace != scr->current_workspace) {
|
if (workspace != scr->current_workspace) {
|
||||||
@@ -1919,17 +1919,17 @@ void wWindowChangeWorkspaceRelative(WWindow *wwin, int amount)
|
|||||||
if (w >= 0) {
|
if (w >= 0) {
|
||||||
wWindowChangeWorkspace(wwin, w);
|
wWindowChangeWorkspace(wwin, w);
|
||||||
} else if (wPreferences.ws_cycle) {
|
} else if (wPreferences.ws_cycle) {
|
||||||
wWindowChangeWorkspace(wwin, scr->workspace_count + w);
|
wWindowChangeWorkspace(wwin, w_global.workspace.count + w);
|
||||||
}
|
}
|
||||||
} else if (amount > 0) {
|
} else if (amount > 0) {
|
||||||
if (w < scr->workspace_count) {
|
if (w < w_global.workspace.count) {
|
||||||
wWindowChangeWorkspace(wwin, w);
|
wWindowChangeWorkspace(wwin, w);
|
||||||
} else if (wPreferences.ws_advance) {
|
} else if (wPreferences.ws_advance) {
|
||||||
int workspace = WMIN(w, MAX_WORKSPACES - 1);
|
int workspace = WMIN(w, MAX_WORKSPACES - 1);
|
||||||
wWorkspaceMake(scr, workspace);
|
wWorkspaceMake(scr, workspace);
|
||||||
wWindowChangeWorkspace(wwin, workspace);
|
wWindowChangeWorkspace(wwin, workspace);
|
||||||
} else if (wPreferences.ws_cycle) {
|
} else if (wPreferences.ws_cycle) {
|
||||||
wWindowChangeWorkspace(wwin, w % scr->workspace_count);
|
wWindowChangeWorkspace(wwin, w % w_global.workspace.count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -221,7 +221,7 @@ static void updateWorkspaceMenu(WMenu * menu)
|
|||||||
WMenuEntry *entry;
|
WMenuEntry *entry;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (i < menu->entry_no) {
|
if (i < menu->entry_no) {
|
||||||
|
|
||||||
entry = menu->entries[i];
|
entry = menu->entries[i];
|
||||||
|
|||||||
@@ -494,7 +494,7 @@ static void saveSettings(WMButton *button, InspectorPanel *panel)
|
|||||||
}
|
}
|
||||||
|
|
||||||
i = WMGetPopUpButtonSelectedItem(panel->wsP) - 1;
|
i = WMGetPopUpButtonSelectedItem(panel->wsP) - 1;
|
||||||
if (i >= 0 && i < panel->frame->screen_ptr->workspace_count) {
|
if (i >= 0 && i < w_global.workspace.count) {
|
||||||
value = WMCreatePLString(panel->frame->screen_ptr->workspaces[i]->name);
|
value = WMCreatePLString(panel->frame->screen_ptr->workspaces[i]->name);
|
||||||
different |= insertAttribute(dict, winDic, AStartWorkspace, value, flags);
|
different |= insertAttribute(dict, winDic, AStartWorkspace, value, flags);
|
||||||
WMReleasePropList(value);
|
WMReleasePropList(value);
|
||||||
@@ -932,7 +932,7 @@ static void revertSettings(WMButton *button, InspectorPanel *panel)
|
|||||||
|
|
||||||
n = wDefaultGetStartWorkspace(wwin->screen_ptr, wm_instance, wm_class);
|
n = wDefaultGetStartWorkspace(wwin->screen_ptr, wm_instance, wm_class);
|
||||||
|
|
||||||
if (n >= 0 && n < wwin->screen_ptr->workspace_count)
|
if (n >= 0 && n < w_global.workspace.count)
|
||||||
WMSetPopUpButtonSelectedItem(panel->wsP, n + 1);
|
WMSetPopUpButtonSelectedItem(panel->wsP, n + 1);
|
||||||
else
|
else
|
||||||
WMSetPopUpButtonSelectedItem(panel->wsP, 0);
|
WMSetPopUpButtonSelectedItem(panel->wsP, 0);
|
||||||
@@ -1529,11 +1529,11 @@ static void create_tab_icon_workspace(WWindow *wwin, InspectorPanel *panel, int
|
|||||||
WMResizeWidget(panel->wsP, PWIDTH - (2 * 15) - (2 * 20), 20);
|
WMResizeWidget(panel->wsP, PWIDTH - (2 * 15) - (2 * 20), 20);
|
||||||
WMAddPopUpButtonItem(panel->wsP, _("Nowhere in particular"));
|
WMAddPopUpButtonItem(panel->wsP, _("Nowhere in particular"));
|
||||||
|
|
||||||
for (i = 0; i < wwin->screen_ptr->workspace_count; i++)
|
for (i = 0; i < w_global.workspace.count; i++)
|
||||||
WMAddPopUpButtonItem(panel->wsP, scr->workspaces[i]->name);
|
WMAddPopUpButtonItem(panel->wsP, scr->workspaces[i]->name);
|
||||||
|
|
||||||
i = wDefaultGetStartWorkspace(wwin->screen_ptr, wwin->wm_instance, wwin->wm_class);
|
i = wDefaultGetStartWorkspace(wwin->screen_ptr, wwin->wm_instance, wwin->wm_class);
|
||||||
if (i >= 0 && i <= wwin->screen_ptr->workspace_count)
|
if (i >= 0 && i <= w_global.workspace.count)
|
||||||
WMSetPopUpButtonSelectedItem(panel->wsP, i + 1);
|
WMSetPopUpButtonSelectedItem(panel->wsP, i + 1);
|
||||||
else
|
else
|
||||||
WMSetPopUpButtonSelectedItem(panel->wsP, 0);
|
WMSetPopUpButtonSelectedItem(panel->wsP, 0);
|
||||||
|
|||||||
18
src/wmspec.c
18
src/wmspec.c
@@ -315,16 +315,16 @@ void wNETWMUpdateDesktop(WScreen *scr)
|
|||||||
long *views, sizes[2];
|
long *views, sizes[2];
|
||||||
int count, i;
|
int count, i;
|
||||||
|
|
||||||
if (scr->workspace_count == 0)
|
if (w_global.workspace.count == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
count = scr->workspace_count * 2;
|
count = w_global.workspace.count * 2;
|
||||||
views = wmalloc(sizeof(long) * count);
|
views = wmalloc(sizeof(long) * count);
|
||||||
/*memset(views, 0, sizeof(long) * count); */
|
/*memset(views, 0, sizeof(long) * count); */
|
||||||
sizes[0] = scr->scr_width;
|
sizes[0] = scr->scr_width;
|
||||||
sizes[1] = scr->scr_height;
|
sizes[1] = scr->scr_height;
|
||||||
|
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
views[2 * i + 0] = 0;
|
views[2 * i + 0] = 0;
|
||||||
views[2 * i + 1] = 0;
|
views[2 * i + 1] = 0;
|
||||||
}
|
}
|
||||||
@@ -736,7 +736,7 @@ static void updateWorkspaceCount(WScreen *scr)
|
|||||||
{ /* changeable */
|
{ /* changeable */
|
||||||
long count;
|
long count;
|
||||||
|
|
||||||
count = scr->workspace_count;
|
count = w_global.workspace.count;
|
||||||
|
|
||||||
XChangeProperty(dpy, scr->root_win, net_number_of_desktops, XA_CARDINAL,
|
XChangeProperty(dpy, scr->root_win, net_number_of_desktops, XA_CARDINAL,
|
||||||
32, PropModeReplace, (unsigned char *)&count, 1);
|
32, PropModeReplace, (unsigned char *)&count, 1);
|
||||||
@@ -759,7 +759,7 @@ static void updateWorkspaceNames(WScreen *scr)
|
|||||||
|
|
||||||
pos = buf;
|
pos = buf;
|
||||||
len = 0;
|
len = 0;
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
curr_size = strlen(scr->workspaces[i]->name);
|
curr_size = strlen(scr->workspaces[i]->name);
|
||||||
strcpy(pos, scr->workspaces[i]->name);
|
strcpy(pos, scr->workspaces[i]->name);
|
||||||
pos += (curr_size + 1);
|
pos += (curr_size + 1);
|
||||||
@@ -1352,13 +1352,13 @@ Bool wNETWMProcessClientMessage(XClientMessageEvent *event)
|
|||||||
long value;
|
long value;
|
||||||
|
|
||||||
value = event->data.l[0];
|
value = event->data.l[0];
|
||||||
if (value > scr->workspace_count) {
|
if (value > w_global.workspace.count) {
|
||||||
wWorkspaceMake(scr, value - scr->workspace_count);
|
wWorkspaceMake(scr, value - w_global.workspace.count);
|
||||||
} else if (value < scr->workspace_count) {
|
} else if (value < w_global.workspace.count) {
|
||||||
int i;
|
int i;
|
||||||
Bool rebuild = False;
|
Bool rebuild = False;
|
||||||
|
|
||||||
for (i = scr->workspace_count - 1; i >= value; i--) {
|
for (i = w_global.workspace.count - 1; i >= value; i--) {
|
||||||
if (!wWorkspaceDelete(scr, i)) {
|
if (!wWorkspaceDelete(scr, i)) {
|
||||||
rebuild = True;
|
rebuild = True;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -88,8 +88,8 @@ int wWorkspaceNew(WScreen *scr)
|
|||||||
WWorkspace *wspace, **list;
|
WWorkspace *wspace, **list;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (scr->workspace_count < MAX_WORKSPACES) {
|
if (w_global.workspace.count < MAX_WORKSPACES) {
|
||||||
scr->workspace_count++;
|
w_global.workspace.count++;
|
||||||
|
|
||||||
wspace = wmalloc(sizeof(WWorkspace));
|
wspace = wmalloc(sizeof(WWorkspace));
|
||||||
wspace->name = NULL;
|
wspace->name = NULL;
|
||||||
@@ -97,15 +97,15 @@ int wWorkspaceNew(WScreen *scr)
|
|||||||
|
|
||||||
if (!wspace->name) {
|
if (!wspace->name) {
|
||||||
wspace->name = wmalloc(strlen(_("Workspace %i")) + 8);
|
wspace->name = wmalloc(strlen(_("Workspace %i")) + 8);
|
||||||
sprintf(wspace->name, _("Workspace %i"), scr->workspace_count);
|
sprintf(wspace->name, _("Workspace %i"), w_global.workspace.count);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!wPreferences.flags.noclip)
|
if (!wPreferences.flags.noclip)
|
||||||
wspace->clip = wDockCreate(scr, WM_CLIP, NULL);
|
wspace->clip = wDockCreate(scr, WM_CLIP, NULL);
|
||||||
|
|
||||||
list = wmalloc(sizeof(WWorkspace *) * scr->workspace_count);
|
list = wmalloc(sizeof(WWorkspace *) * w_global.workspace.count);
|
||||||
|
|
||||||
for (i = 0; i < scr->workspace_count - 1; i++)
|
for (i = 0; i < w_global.workspace.count - 1; i++)
|
||||||
list[i] = scr->workspaces[i];
|
list[i] = scr->workspaces[i];
|
||||||
|
|
||||||
list[i] = wspace;
|
list[i] = wspace;
|
||||||
@@ -117,10 +117,10 @@ int wWorkspaceNew(WScreen *scr)
|
|||||||
wWorkspaceMenuUpdate(scr, scr->workspace_menu);
|
wWorkspaceMenuUpdate(scr, scr->workspace_menu);
|
||||||
wWorkspaceMenuUpdate(scr, scr->clip_ws_menu);
|
wWorkspaceMenuUpdate(scr, scr->clip_ws_menu);
|
||||||
wNETWMUpdateDesktop(scr);
|
wNETWMUpdateDesktop(scr);
|
||||||
WMPostNotificationName(WMNWorkspaceCreated, scr, (void *)(uintptr_t) (scr->workspace_count - 1));
|
WMPostNotificationName(WMNWorkspaceCreated, scr, (void *)(uintptr_t) (w_global.workspace.count - 1));
|
||||||
XFlush(dpy);
|
XFlush(dpy);
|
||||||
|
|
||||||
return scr->workspace_count - 1;
|
return w_global.workspace.count - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
@@ -148,9 +148,9 @@ Bool wWorkspaceDelete(WScreen * scr, int workspace)
|
|||||||
scr->workspaces[workspace]->clip = NULL;
|
scr->workspaces[workspace]->clip = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
list = wmalloc(sizeof(WWorkspace *) * (scr->workspace_count - 1));
|
list = wmalloc(sizeof(WWorkspace *) * (w_global.workspace.count - 1));
|
||||||
j = 0;
|
j = 0;
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (i != workspace) {
|
if (i != workspace) {
|
||||||
list[j++] = scr->workspaces[i];
|
list[j++] = scr->workspaces[i];
|
||||||
} else {
|
} else {
|
||||||
@@ -162,7 +162,7 @@ Bool wWorkspaceDelete(WScreen * scr, int workspace)
|
|||||||
wfree(scr->workspaces);
|
wfree(scr->workspaces);
|
||||||
scr->workspaces = list;
|
scr->workspaces = list;
|
||||||
|
|
||||||
scr->workspace_count--;
|
w_global.workspace.count--;
|
||||||
|
|
||||||
/* update menu */
|
/* update menu */
|
||||||
wWorkspaceMenuUpdate(scr, scr->workspace_menu);
|
wWorkspaceMenuUpdate(scr, scr->workspace_menu);
|
||||||
@@ -174,7 +174,7 @@ Bool wWorkspaceDelete(WScreen * scr, int workspace)
|
|||||||
WMenu *menu = scr->workspace_submenu;
|
WMenu *menu = scr->workspace_submenu;
|
||||||
|
|
||||||
i = menu->entry_no;
|
i = menu->entry_no;
|
||||||
while (i > scr->workspace_count)
|
while (i > w_global.workspace.count)
|
||||||
wMenuRemoveItem(menu, --i);
|
wMenuRemoveItem(menu, --i);
|
||||||
wMenuRealize(menu);
|
wMenuRealize(menu);
|
||||||
}
|
}
|
||||||
@@ -183,16 +183,16 @@ Bool wWorkspaceDelete(WScreen * scr, int workspace)
|
|||||||
WMenu *menu = scr->clip_submenu;
|
WMenu *menu = scr->clip_submenu;
|
||||||
|
|
||||||
i = menu->entry_no;
|
i = menu->entry_no;
|
||||||
while (i > scr->workspace_count)
|
while (i > w_global.workspace.count)
|
||||||
wMenuRemoveItem(menu, --i);
|
wMenuRemoveItem(menu, --i);
|
||||||
wMenuRealize(menu);
|
wMenuRealize(menu);
|
||||||
}
|
}
|
||||||
wNETWMUpdateDesktop(scr);
|
wNETWMUpdateDesktop(scr);
|
||||||
WMPostNotificationName(WMNWorkspaceDestroyed, scr, (void *)(uintptr_t) (scr->workspace_count - 1));
|
WMPostNotificationName(WMNWorkspaceDestroyed, scr, (void *)(uintptr_t) (w_global.workspace.count - 1));
|
||||||
|
|
||||||
if (scr->current_workspace >= scr->workspace_count)
|
if (scr->current_workspace >= w_global.workspace.count)
|
||||||
wWorkspaceChange(scr, scr->workspace_count - 1);
|
wWorkspaceChange(scr, w_global.workspace.count - 1);
|
||||||
if (scr->last_workspace >= scr->workspace_count)
|
if (scr->last_workspace >= w_global.workspace.count)
|
||||||
scr->last_workspace = 0;
|
scr->last_workspace = 0;
|
||||||
|
|
||||||
return True;
|
return True;
|
||||||
@@ -259,7 +259,7 @@ static void showWorkspaceName(WScreen * scr, int workspace)
|
|||||||
int xx, yy;
|
int xx, yy;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (wPreferences.workspace_name_display_position == WD_NONE || scr->workspace_count < 2)
|
if (wPreferences.workspace_name_display_position == WD_NONE || w_global.workspace.count < 2)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (scr->workspace_name_timer) {
|
if (scr->workspace_name_timer) {
|
||||||
@@ -450,15 +450,15 @@ void wWorkspaceRelativeChange(WScreen * scr, int amount)
|
|||||||
if (w >= 0) {
|
if (w >= 0) {
|
||||||
wWorkspaceChange(scr, w);
|
wWorkspaceChange(scr, w);
|
||||||
} else if (wPreferences.ws_cycle) {
|
} else if (wPreferences.ws_cycle) {
|
||||||
wWorkspaceChange(scr, scr->workspace_count + w);
|
wWorkspaceChange(scr, w_global.workspace.count + w);
|
||||||
}
|
}
|
||||||
} else if (amount > 0) {
|
} else if (amount > 0) {
|
||||||
if (w < scr->workspace_count) {
|
if (w < w_global.workspace.count) {
|
||||||
wWorkspaceChange(scr, w);
|
wWorkspaceChange(scr, w);
|
||||||
} else if (wPreferences.ws_advance) {
|
} else if (wPreferences.ws_advance) {
|
||||||
wWorkspaceChange(scr, WMIN(w, MAX_WORKSPACES - 1));
|
wWorkspaceChange(scr, WMIN(w, MAX_WORKSPACES - 1));
|
||||||
} else if (wPreferences.ws_cycle) {
|
} else if (wPreferences.ws_cycle) {
|
||||||
wWorkspaceChange(scr, w % scr->workspace_count);
|
wWorkspaceChange(scr, w % w_global.workspace.count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -474,8 +474,8 @@ void wWorkspaceForceChange(WScreen * scr, int workspace)
|
|||||||
|
|
||||||
SendHelperMessage(scr, 'C', workspace + 1, NULL);
|
SendHelperMessage(scr, 'C', workspace + 1, NULL);
|
||||||
|
|
||||||
if (workspace > scr->workspace_count - 1)
|
if (workspace > w_global.workspace.count - 1)
|
||||||
wWorkspaceMake(scr, workspace - scr->workspace_count + 1);
|
wWorkspaceMake(scr, workspace - w_global.workspace.count + 1);
|
||||||
|
|
||||||
wClipUpdateForWorkspaceChange(scr, workspace);
|
wClipUpdateForWorkspaceChange(scr, workspace);
|
||||||
|
|
||||||
@@ -647,7 +647,7 @@ static void lastWSCommand(WMenu *menu, WMenuEntry *entry)
|
|||||||
|
|
||||||
static void deleteWSCommand(WMenu *menu, WMenuEntry *entry)
|
static void deleteWSCommand(WMenu *menu, WMenuEntry *entry)
|
||||||
{
|
{
|
||||||
wWorkspaceDelete(menu->frame->screen_ptr, menu->frame->screen_ptr->workspace_count - 1);
|
wWorkspaceDelete(menu->frame->screen_ptr, w_global.workspace.count - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void newWSCommand(WMenu *menu, WMenuEntry *foo)
|
static void newWSCommand(WMenu *menu, WMenuEntry *foo)
|
||||||
@@ -666,7 +666,7 @@ void wWorkspaceRename(WScreen *scr, int workspace, const char *name)
|
|||||||
char buf[MAX_WORKSPACENAME_WIDTH + 1];
|
char buf[MAX_WORKSPACENAME_WIDTH + 1];
|
||||||
char *tmp;
|
char *tmp;
|
||||||
|
|
||||||
if (workspace >= scr->workspace_count)
|
if (workspace >= w_global.workspace.count)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* trim white spaces */
|
/* trim white spaces */
|
||||||
@@ -748,9 +748,9 @@ void wWorkspaceMenuUpdate(WScreen * scr, WMenu * menu)
|
|||||||
if (!menu)
|
if (!menu)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (menu->entry_no < scr->workspace_count + MC_WORKSPACE1) {
|
if (menu->entry_no < w_global.workspace.count + MC_WORKSPACE1) {
|
||||||
/* new workspace(s) added */
|
/* new workspace(s) added */
|
||||||
i = scr->workspace_count - (menu->entry_no - MC_WORKSPACE1);
|
i = w_global.workspace.count - (menu->entry_no - MC_WORKSPACE1);
|
||||||
ws = menu->entry_no - MC_WORKSPACE1;
|
ws = menu->entry_no - MC_WORKSPACE1;
|
||||||
while (i > 0) {
|
while (i > 0) {
|
||||||
wstrlcpy(title, scr->workspaces[ws]->name, MAX_WORKSPACENAME_WIDTH);
|
wstrlcpy(title, scr->workspaces[ws]->name, MAX_WORKSPACENAME_WIDTH);
|
||||||
@@ -762,13 +762,13 @@ void wWorkspaceMenuUpdate(WScreen * scr, WMenu * menu)
|
|||||||
i--;
|
i--;
|
||||||
ws++;
|
ws++;
|
||||||
}
|
}
|
||||||
} else if (menu->entry_no > scr->workspace_count + MC_WORKSPACE1) {
|
} else if (menu->entry_no > w_global.workspace.count + MC_WORKSPACE1) {
|
||||||
/* removed workspace(s) */
|
/* removed workspace(s) */
|
||||||
for (i = menu->entry_no - 1; i >= scr->workspace_count + MC_WORKSPACE1; i--)
|
for (i = menu->entry_no - 1; i >= w_global.workspace.count + MC_WORKSPACE1; i--)
|
||||||
wMenuRemoveItem(menu, i);
|
wMenuRemoveItem(menu, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
/* workspace shortcut labels */
|
/* workspace shortcut labels */
|
||||||
if (i / 10 == scr->current_workspace / 10)
|
if (i / 10 == scr->current_workspace / 10)
|
||||||
menu->entries[i + MC_WORKSPACE1]->rtext = GetShortcutKey(wKeyBindings[WKBD_WORKSPACE1 + (i % 10)]);
|
menu->entries[i + MC_WORKSPACE1]->rtext = GetShortcutKey(wKeyBindings[WKBD_WORKSPACE1 + (i % 10)]);
|
||||||
@@ -781,13 +781,13 @@ void wWorkspaceMenuUpdate(WScreen * scr, WMenu * menu)
|
|||||||
wMenuRealize(menu);
|
wMenuRealize(menu);
|
||||||
|
|
||||||
/* don't let user destroy current workspace */
|
/* don't let user destroy current workspace */
|
||||||
if (scr->current_workspace == scr->workspace_count - 1)
|
if (scr->current_workspace == w_global.workspace.count - 1)
|
||||||
wMenuSetEnabled(menu, MC_DESTROY_LAST, False);
|
wMenuSetEnabled(menu, MC_DESTROY_LAST, False);
|
||||||
else
|
else
|
||||||
wMenuSetEnabled(menu, MC_DESTROY_LAST, True);
|
wMenuSetEnabled(menu, MC_DESTROY_LAST, True);
|
||||||
|
|
||||||
/* back to last workspace */
|
/* back to last workspace */
|
||||||
if (scr->workspace_count && scr->last_workspace != scr->current_workspace)
|
if (w_global.workspace.count && scr->last_workspace != scr->current_workspace)
|
||||||
wMenuSetEnabled(menu, MC_LAST_USED, True);
|
wMenuSetEnabled(menu, MC_LAST_USED, True);
|
||||||
else
|
else
|
||||||
wMenuSetEnabled(menu, MC_LAST_USED, False);
|
wMenuSetEnabled(menu, MC_LAST_USED, False);
|
||||||
@@ -809,7 +809,7 @@ void wWorkspaceSaveState(WScreen * scr, WMPropList * old_state)
|
|||||||
|
|
||||||
old_wks_state = WMGetFromPLDictionary(old_state, dWorkspaces);
|
old_wks_state = WMGetFromPLDictionary(old_state, dWorkspaces);
|
||||||
parr = WMCreatePLArray(NULL);
|
parr = WMCreatePLArray(NULL);
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
pstr = WMCreatePLString(scr->workspaces[i]->name);
|
pstr = WMCreatePLString(scr->workspaces[i]->name);
|
||||||
wks_state = WMCreatePLDictionary(dName, pstr, NULL);
|
wks_state = WMCreatePLDictionary(dName, pstr, NULL);
|
||||||
WMReleasePropList(pstr);
|
WMReleasePropList(pstr);
|
||||||
@@ -853,7 +853,7 @@ void wWorkspaceRestoreState(WScreen *scr)
|
|||||||
else
|
else
|
||||||
pstr = wks_state;
|
pstr = wks_state;
|
||||||
|
|
||||||
if (i >= scr->workspace_count)
|
if (i >= w_global.workspace.count)
|
||||||
wWorkspaceNew(scr);
|
wWorkspaceNew(scr);
|
||||||
|
|
||||||
if (scr->workspace_menu) {
|
if (scr->workspace_menu) {
|
||||||
@@ -921,7 +921,7 @@ int wGetWorkspaceNumber(WScreen *scr, const char *value)
|
|||||||
|
|
||||||
if (sscanf(value, "%i", &w) != 1) {
|
if (sscanf(value, "%i", &w) != 1) {
|
||||||
w = -1;
|
w = -1;
|
||||||
for (i = 0; i < scr->workspace_count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (strcmp(scr->workspaces[i]->name, value) == 0) {
|
if (strcmp(scr->workspaces[i]->name, value) == 0) {
|
||||||
w = i;
|
w = i;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user