mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 20:38:08 +01:00
Array of workspaces moved to the workspace object in the global namespace
The variable workspaces, that contains the list of workspaces is moved to the global workspace properties. Now the screen is not needed to know the workspaces. The function getWindowState() doesn't need the WScreen argument.
This commit is contained in:
committed by
Carlos R. Mafra
parent
c610b8d7ce
commit
f0c5073600
@@ -483,6 +483,8 @@ extern struct wmaker_global_variables {
|
|||||||
|
|
||||||
/* Workspace related */
|
/* Workspace related */
|
||||||
struct {
|
struct {
|
||||||
|
struct WWorkspace **array; /* data for the workspaces */
|
||||||
|
|
||||||
int count; /* number of workspaces */
|
int count; /* number of workspaces */
|
||||||
int current; /* current workspace number */
|
int current; /* current workspace number */
|
||||||
int last_used; /* last used workspace number */
|
int last_used; /* last used workspace number */
|
||||||
|
|||||||
@@ -183,7 +183,7 @@ void unpaint_app_icon(WApplication *wapp)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
scr = wapp->main_window_desc->screen_ptr;
|
scr = wapp->main_window_desc->screen_ptr;
|
||||||
clip = scr->workspaces[w_global.workspace.current]->clip;
|
clip = w_global.workspace.array[w_global.workspace.current]->clip;
|
||||||
|
|
||||||
if (!clip || !aicon->attracted || !clip->collapsed)
|
if (!clip || !aicon->attracted || !clip->collapsed)
|
||||||
XUnmapWindow(dpy, aicon->icon->core->window);
|
XUnmapWindow(dpy, aicon->icon->core->window);
|
||||||
@@ -217,7 +217,7 @@ void paint_app_icon(WApplication *wapp)
|
|||||||
|
|
||||||
attracting_dock = scr->attracting_drawer != NULL ?
|
attracting_dock = scr->attracting_drawer != NULL ?
|
||||||
scr->attracting_drawer :
|
scr->attracting_drawer :
|
||||||
scr->workspaces[w_global.workspace.current]->clip;
|
w_global.workspace.array[w_global.workspace.current]->clip;
|
||||||
if (attracting_dock && attracting_dock->attract_icons &&
|
if (attracting_dock && attracting_dock->attract_icons &&
|
||||||
wDockFindFreeSlot(attracting_dock, &x, &y)) {
|
wDockFindFreeSlot(attracting_dock, &x, &y)) {
|
||||||
wapp->app_icon->attracted = 1;
|
wapp->app_icon->attracted = 1;
|
||||||
@@ -809,8 +809,8 @@ Bool wHandleAppIconMove(WAppIcon *aicon, XEvent *event)
|
|||||||
allDocks[ i++ ] = scr->dock;
|
allDocks[ i++ ] = scr->dock;
|
||||||
|
|
||||||
if (!wPreferences.flags.noclip &&
|
if (!wPreferences.flags.noclip &&
|
||||||
originalDock != scr->workspaces[w_global.workspace.current]->clip)
|
originalDock != w_global.workspace.array[w_global.workspace.current]->clip)
|
||||||
allDocks[ i++ ] = scr->workspaces[w_global.workspace.current]->clip;
|
allDocks[i++] = w_global.workspace.array[w_global.workspace.current]->clip;
|
||||||
|
|
||||||
for ( ; i < scr->drawer_count + 2; i++) /* In case the clip, the dock, or both, are disabled */
|
for ( ; i < scr->drawer_count + 2; i++) /* In case the clip, the dock, or both, are disabled */
|
||||||
allDocks[ i ] = NULL;
|
allDocks[ i ] = NULL;
|
||||||
@@ -865,7 +865,7 @@ Bool wHandleAppIconMove(WAppIcon *aicon, XEvent *event)
|
|||||||
if (i == w_global.workspace.current)
|
if (i == w_global.workspace.current)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
wDockShowIcons(scr->workspaces[i]->clip);
|
wDockShowIcons(w_global.workspace.array[i]->clip);
|
||||||
/* Note: if dock is collapsed (for instance, because it
|
/* Note: if dock is collapsed (for instance, because it
|
||||||
auto-collapses), its icons still won't show up */
|
auto-collapses), its icons still won't show up */
|
||||||
}
|
}
|
||||||
@@ -1071,7 +1071,7 @@ Bool wHandleAppIconMove(WAppIcon *aicon, XEvent *event)
|
|||||||
if (i == w_global.workspace.current)
|
if (i == w_global.workspace.current)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
wDockHideIcons(scr->workspaces[i]->clip);
|
wDockHideIcons(w_global.workspace.array[i]->clip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (wPreferences.auto_arrange_icons && !(originalDock != NULL && docked))
|
if (wPreferences.auto_arrange_icons && !(originalDock != NULL && docked))
|
||||||
@@ -1151,7 +1151,7 @@ static void create_appicon_from_dock(WWindow *wwin, WApplication *wapp, Window m
|
|||||||
if (!wapp->app_icon) {
|
if (!wapp->app_icon) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < w_global.workspace.count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
WDock *dock = scr->workspaces[i]->clip;
|
WDock *dock = w_global.workspace.array[i]->clip;
|
||||||
|
|
||||||
if (dock)
|
if (dock)
|
||||||
wapp->app_icon = findDockIconFor(dock, main_window);
|
wapp->app_icon = findDockIconFor(dock, main_window);
|
||||||
|
|||||||
@@ -440,8 +440,8 @@ static void appiconBalloon(WObjDescriptor *object)
|
|||||||
|
|
||||||
/* Show balloon if it is the Clip and the workspace name is > 5 chars */
|
/* Show balloon if it is the Clip and the workspace name is > 5 chars */
|
||||||
if (object->parent == scr->clip_icon) {
|
if (object->parent == scr->clip_icon) {
|
||||||
if (strlen(scr->workspaces[w_global.workspace.current]->name) > 5) {
|
if (strlen(w_global.workspace.array[w_global.workspace.current]->name) > 5) {
|
||||||
scr->balloon->text = wstrdup(scr->workspaces[w_global.workspace.current]->name);
|
scr->balloon->text = wstrdup(w_global.workspace.array[w_global.workspace.current]->name);
|
||||||
} else {
|
} else {
|
||||||
wBalloonHide(scr);
|
wBalloonHide(scr);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -2451,7 +2451,7 @@ static int setWrapAppiconsInDock(WScreen *scr, WDefaultEntry *entry, void *tdata
|
|||||||
|
|
||||||
static int setStickyIcons(WScreen * scr, WDefaultEntry * entry, void *bar, void *foo)
|
static int setStickyIcons(WScreen * scr, WDefaultEntry * entry, void *bar, void *foo)
|
||||||
{
|
{
|
||||||
if (scr->workspaces) {
|
if (w_global.workspace.array) {
|
||||||
wWorkspaceForceChange(scr, w_global.workspace.current);
|
wWorkspaceForceChange(scr, w_global.workspace.current);
|
||||||
wArrangeIcons(scr, False);
|
wArrangeIcons(scr, False);
|
||||||
}
|
}
|
||||||
|
|||||||
39
src/dock.c
39
src/dock.c
@@ -173,7 +173,7 @@ static void renameCallback(WMenu *menu, WMenuEntry *entry)
|
|||||||
|
|
||||||
wspace = w_global.workspace.current;
|
wspace = w_global.workspace.current;
|
||||||
|
|
||||||
name = wstrdup(dock->screen_ptr->workspaces[wspace]->name);
|
name = wstrdup(w_global.workspace.array[wspace]->name);
|
||||||
|
|
||||||
snprintf(buffer, sizeof(buffer), _("Type the name for workspace %i:"), wspace + 1);
|
snprintf(buffer, sizeof(buffer), _("Type the name for workspace %i:"), wspace + 1);
|
||||||
if (wInputDialog(dock->screen_ptr, _("Rename Workspace"), buffer, &name))
|
if (wInputDialog(dock->screen_ptr, _("Rename Workspace"), buffer, &name))
|
||||||
@@ -595,7 +595,7 @@ static void toggleAutoAttractCallback(WMenu *menu, WMenuEntry *entry)
|
|||||||
/* 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 < w_global.workspace.count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (scr->workspaces[ i ]->clip->attract_icons) {
|
if (w_global.workspace.array[i]->clip->attract_icons) {
|
||||||
ask_for_confirmation = True;
|
ask_for_confirmation = True;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -621,7 +621,7 @@ static void toggleAutoAttractCallback(WMenu *menu, WMenuEntry *entry)
|
|||||||
* previously attracting drawer */
|
* previously attracting drawer */
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < w_global.workspace.count; i++)
|
for (i = 0; i < w_global.workspace.count; i++)
|
||||||
scr->workspaces[ i ]->clip->attract_icons = False;
|
w_global.workspace.array[i]->clip->attract_icons = False;
|
||||||
/* dock menu will be updated later, when opened */
|
/* dock menu will be updated later, when opened */
|
||||||
|
|
||||||
if (scr->attracting_drawer != NULL)
|
if (scr->attracting_drawer != NULL)
|
||||||
@@ -868,7 +868,7 @@ static void switchWSCommand(WMenu *menu, WMenuEntry *entry)
|
|||||||
if (entry->order == w_global.workspace.current)
|
if (entry->order == w_global.workspace.current)
|
||||||
return;
|
return;
|
||||||
src = icon->dock;
|
src = icon->dock;
|
||||||
dest = scr->workspaces[entry->order]->clip;
|
dest = w_global.workspace.array[entry->order]->clip;
|
||||||
|
|
||||||
selectedIcons = getSelected(src);
|
selectedIcons = getSelected(src);
|
||||||
|
|
||||||
@@ -935,7 +935,6 @@ static void launchDockedApplication(WAppIcon *btn, Bool withSelection)
|
|||||||
|
|
||||||
static void updateWorkspaceMenu(WMenu *menu, WAppIcon *icon)
|
static void updateWorkspaceMenu(WMenu *menu, WAppIcon *icon)
|
||||||
{
|
{
|
||||||
WScreen *scr = menu->frame->screen_ptr;
|
|
||||||
char title[MAX_WORKSPACENAME_WIDTH + 1];
|
char title[MAX_WORKSPACENAME_WIDTH + 1];
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@@ -944,15 +943,15 @@ static void updateWorkspaceMenu(WMenu *menu, WAppIcon *icon)
|
|||||||
|
|
||||||
for (i = 0; i < w_global.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, w_global.workspace.array[i]->name) != 0) {
|
||||||
wfree(menu->entries[i]->text);
|
wfree(menu->entries[i]->text);
|
||||||
strcpy(title, scr->workspaces[i]->name);
|
strcpy(title, w_global.workspace.array[i]->name);
|
||||||
menu->entries[i]->text = wstrdup(title);
|
menu->entries[i]->text = wstrdup(title);
|
||||||
menu->flags.realized = 0;
|
menu->flags.realized = 0;
|
||||||
}
|
}
|
||||||
menu->entries[i]->clientdata = (void *)icon;
|
menu->entries[i]->clientdata = (void *)icon;
|
||||||
} else {
|
} else {
|
||||||
strcpy(title, scr->workspaces[i]->name);
|
strcpy(title, w_global.workspace.array[i]->name);
|
||||||
|
|
||||||
wMenuAddCallback(menu, title, switchWSCommand, (void *)icon);
|
wMenuAddCallback(menu, title, switchWSCommand, (void *)icon);
|
||||||
|
|
||||||
@@ -1368,7 +1367,7 @@ void wDockDestroy(WDock *dock)
|
|||||||
void wClipIconPaint(WAppIcon *aicon)
|
void wClipIconPaint(WAppIcon *aicon)
|
||||||
{
|
{
|
||||||
WScreen *scr = aicon->icon->core->screen_ptr;
|
WScreen *scr = aicon->icon->core->screen_ptr;
|
||||||
WWorkspace *workspace = scr->workspaces[w_global.workspace.current];
|
WWorkspace *workspace = w_global.workspace.array[w_global.workspace.current];
|
||||||
WMColor *color;
|
WMColor *color;
|
||||||
Window win = aicon->icon->core->window;
|
Window win = aicon->icon->core->window;
|
||||||
int length, nlength;
|
int length, nlength;
|
||||||
@@ -1594,7 +1593,7 @@ void wClipSaveState(WScreen *scr)
|
|||||||
|
|
||||||
WMPropList *wClipSaveWorkspaceState(WScreen *scr, int workspace)
|
WMPropList *wClipSaveWorkspaceState(WScreen *scr, int workspace)
|
||||||
{
|
{
|
||||||
return dockSaveState(scr->workspaces[workspace]->clip);
|
return dockSaveState(w_global.workspace.array[workspace]->clip);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Bool getBooleanDockValue(WMPropList *value, WMPropList *key)
|
static Bool getBooleanDockValue(WMPropList *value, WMPropList *key)
|
||||||
@@ -2030,7 +2029,7 @@ static WDock *findDock(WScreen *scr, XEvent *event, int *icon_pos)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (*icon_pos < 0 && (dock = scr->workspaces[w_global.workspace.current]->clip) != NULL) {
|
if (*icon_pos < 0 && (dock = w_global.workspace.array[w_global.workspace.current]->clip) != NULL) {
|
||||||
for (i = 0; i < dock->max_icons; i++) {
|
for (i = 0; i < dock->max_icons; i++) {
|
||||||
if (dock->icon_array[i]
|
if (dock->icon_array[i]
|
||||||
&& dock->icon_array[i]->icon->core->window == event->xclient.window) {
|
&& dock->icon_array[i]->icon->core->window == event->xclient.window) {
|
||||||
@@ -2582,7 +2581,7 @@ Bool wDockSnapIcon(WDock *dock, WAppIcon *icon, int req_x, int req_y, int *ret_x
|
|||||||
|
|
||||||
aicon = NULL;
|
aicon = NULL;
|
||||||
for (k = start; k < stop; k++) {
|
for (k = start; k < stop; k++) {
|
||||||
WDock *tmp = scr->workspaces[k]->clip;
|
WDock *tmp = w_global.workspace.array[k]->clip;
|
||||||
if (!tmp)
|
if (!tmp)
|
||||||
continue;
|
continue;
|
||||||
for (i = 0; i < tmp->max_icons; i++) {
|
for (i = 0; i < tmp->max_icons; i++) {
|
||||||
@@ -2596,7 +2595,7 @@ Bool wDockSnapIcon(WDock *dock, WAppIcon *icon, int req_x, int req_y, int *ret_x
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
for (k = start; k < stop; k++) {
|
for (k = start; k < stop; k++) {
|
||||||
WDock *tmp = scr->workspaces[k]->clip;
|
WDock *tmp = w_global.workspace.array[k]->clip;
|
||||||
if (!tmp)
|
if (!tmp)
|
||||||
continue;
|
continue;
|
||||||
for (i = 0; i < tmp->max_icons; i++) {
|
for (i = 0; i < tmp->max_icons; i++) {
|
||||||
@@ -2707,7 +2706,7 @@ Bool wDockFindFreeSlot(WDock *dock, int *x_pos, int *y_pos)
|
|||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dock->type == WM_CLIP && dock != scr->workspaces[w_global.workspace.current]->clip)
|
if (dock->type == WM_CLIP && dock != w_global.workspace.array[w_global.workspace.current]->clip)
|
||||||
extra_count = scr->global_icon_count;
|
extra_count = scr->global_icon_count;
|
||||||
|
|
||||||
/* if the dock is full */
|
/* if the dock is full */
|
||||||
@@ -3273,16 +3272,16 @@ void wDockTrackWindowLaunch(WDock *dock, Window window)
|
|||||||
void wClipUpdateForWorkspaceChange(WScreen *scr, int workspace)
|
void wClipUpdateForWorkspaceChange(WScreen *scr, int workspace)
|
||||||
{
|
{
|
||||||
if (!wPreferences.flags.noclip) {
|
if (!wPreferences.flags.noclip) {
|
||||||
scr->clip_icon->dock = scr->workspaces[workspace]->clip;
|
scr->clip_icon->dock = w_global.workspace.array[workspace]->clip;
|
||||||
if (w_global.workspace.current != workspace) {
|
if (w_global.workspace.current != workspace) {
|
||||||
WDock *old_clip = scr->workspaces[w_global.workspace.current]->clip;
|
WDock *old_clip = w_global.workspace.array[w_global.workspace.current]->clip;
|
||||||
WAppIconChain *chain = scr->global_icons;
|
WAppIconChain *chain = scr->global_icons;
|
||||||
|
|
||||||
while (chain) {
|
while (chain) {
|
||||||
wDockMoveIconBetweenDocks(chain->aicon->dock,
|
wDockMoveIconBetweenDocks(chain->aicon->dock,
|
||||||
scr->workspaces[workspace]->clip,
|
w_global.workspace.array[workspace]->clip,
|
||||||
chain->aicon, chain->aicon->xindex, chain->aicon->yindex);
|
chain->aicon, chain->aicon->xindex, chain->aicon->yindex);
|
||||||
if (scr->workspaces[workspace]->clip->collapsed)
|
if (w_global.workspace.array[workspace]->clip->collapsed)
|
||||||
XUnmapWindow(dpy, chain->aicon->icon->core->window);
|
XUnmapWindow(dpy, chain->aicon->icon->core->window);
|
||||||
chain = chain->next;
|
chain = chain->next;
|
||||||
}
|
}
|
||||||
@@ -3302,7 +3301,7 @@ void wClipUpdateForWorkspaceChange(WScreen *scr, int workspace)
|
|||||||
}
|
}
|
||||||
old_clip->collapsed = 1;
|
old_clip->collapsed = 1;
|
||||||
}
|
}
|
||||||
wDockShowIcons(scr->workspaces[workspace]->clip);
|
wDockShowIcons(w_global.workspace.array[workspace]->clip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4151,7 +4150,7 @@ static Bool iconCanBeOmnipresent(WAppIcon *aicon)
|
|||||||
int i, j;
|
int i, j;
|
||||||
|
|
||||||
for (i = 0; i < w_global.workspace.count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
clip = scr->workspaces[i]->clip;
|
clip = w_global.workspace.array[i]->clip;
|
||||||
|
|
||||||
if (clip == aicon->dock)
|
if (clip == aicon->dock)
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -1741,7 +1741,7 @@ static void handleKeyPress(XEvent * event)
|
|||||||
break;
|
break;
|
||||||
case WKBD_CLIPRAISELOWER:
|
case WKBD_CLIPRAISELOWER:
|
||||||
if (!wPreferences.flags.noclip)
|
if (!wPreferences.flags.noclip)
|
||||||
wDockRaiseLower(scr->workspaces[w_global.workspace.current]->clip);
|
wDockRaiseLower(w_global.workspace.array[w_global.workspace.current]->clip);
|
||||||
break;
|
break;
|
||||||
case WKBD_DOCKRAISELOWER:
|
case WKBD_DOCKRAISELOWER:
|
||||||
if (!wPreferences.flags.nodock)
|
if (!wPreferences.flags.nodock)
|
||||||
|
|||||||
@@ -1761,7 +1761,7 @@ static void menuMouseDown(WObjDescriptor * desc, XEvent * event)
|
|||||||
char *name;
|
char *name;
|
||||||
int number = entry_no - 3; /* Entries "New", "Destroy Last" and "Last Used" appear before workspaces */
|
int number = entry_no - 3; /* Entries "New", "Destroy Last" and "Last Used" appear before workspaces */
|
||||||
|
|
||||||
name = wstrdup(scr->workspaces[number]->name);
|
name = wstrdup(w_global.workspace.array[number]->name);
|
||||||
snprintf(buffer, sizeof(buffer), _("Type the name for workspace %i:"), number + 1);
|
snprintf(buffer, sizeof(buffer), _("Type the name for workspace %i:"), number + 1);
|
||||||
|
|
||||||
wMenuUnmap(scr->root_menu);
|
wMenuUnmap(scr->root_menu);
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|
||||||
struct WWorkspace **workspaces; /* workspace array */
|
|
||||||
|
|
||||||
WReservedArea *reservedAreas; /* used to build totalUsableArea */
|
WReservedArea *reservedAreas; /* used to build totalUsableArea */
|
||||||
|
|
||||||
WArea *usableArea; /* area of the workspace where
|
WArea *usableArea; /* area of the workspace where
|
||||||
|
|||||||
@@ -198,8 +198,8 @@ static WMPropList *makeWindowState(WWindow * wwin, WApplication * wapp)
|
|||||||
|
|
||||||
name = WMCreatePLString(buffer);
|
name = WMCreatePLString(buffer);
|
||||||
cmd = WMCreatePLString(command);
|
cmd = WMCreatePLString(command);
|
||||||
workspace = WMCreatePLString(scr->workspaces[wwin->frame->workspace]->name);
|
|
||||||
|
|
||||||
|
workspace = WMCreatePLString(w_global.workspace.array[wwin->frame->workspace]->name);
|
||||||
shaded = wwin->flags.shaded ? sYes : sNo;
|
shaded = wwin->flags.shaded ? sYes : sNo;
|
||||||
miniaturized = wwin->flags.miniaturized ? sYes : sNo;
|
miniaturized = wwin->flags.miniaturized ? sYes : sNo;
|
||||||
hidden = wwin->flags.hidden ? sYes : sNo;
|
hidden = wwin->flags.hidden ? sYes : sNo;
|
||||||
@@ -238,10 +238,10 @@ static WMPropList *makeWindowState(WWindow * wwin, WApplication * wapp)
|
|||||||
/* Try the clips */
|
/* Try the clips */
|
||||||
if (name == NULL) {
|
if (name == NULL) {
|
||||||
for (i = 0; i < w_global.workspace.count; i++)
|
for (i = 0; i < w_global.workspace.count; i++)
|
||||||
if (scr->workspaces[i]->clip == wapp->app_icon->dock)
|
if (w_global.workspace.array[i]->clip == wapp->app_icon->dock)
|
||||||
break;
|
break;
|
||||||
if (i < w_global.workspace.count)
|
if (i < w_global.workspace.count)
|
||||||
name = scr->workspaces[i]->name;
|
name = w_global.workspace.array[i]->name;
|
||||||
}
|
}
|
||||||
/* Try the drawers */
|
/* Try the drawers */
|
||||||
if (name == NULL) {
|
if (name == NULL) {
|
||||||
@@ -316,7 +316,7 @@ void wSessionSaveState(WScreen * scr)
|
|||||||
WMPutInPLDictionary(scr->session_state, sApplications, list);
|
WMPutInPLDictionary(scr->session_state, sApplications, list);
|
||||||
WMReleasePropList(list);
|
WMReleasePropList(list);
|
||||||
|
|
||||||
wks = WMCreatePLString(scr->workspaces[w_global.workspace.current]->name);
|
wks = WMCreatePLString(w_global.workspace.array[w_global.workspace.current]->name);
|
||||||
WMPutInPLDictionary(scr->session_state, sWorkspace, wks);
|
WMPutInPLDictionary(scr->session_state, sWorkspace, wks);
|
||||||
WMReleasePropList(wks);
|
WMReleasePropList(wks);
|
||||||
|
|
||||||
@@ -383,7 +383,7 @@ static WSavedState *getWindowState(WScreen * scr, WMPropList * win_state)
|
|||||||
if (sscanf(tmp, "%i", &state->workspace) != 1) {
|
if (sscanf(tmp, "%i", &state->workspace) != 1) {
|
||||||
state->workspace = -1;
|
state->workspace = -1;
|
||||||
for (i = 0; i < w_global.workspace.count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (strcmp(scr->workspaces[i]->name, tmp) == 0) {
|
if (strcmp(w_global.workspace.array[i]->name, tmp) == 0) {
|
||||||
state->workspace = i;
|
state->workspace = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -472,8 +472,8 @@ void wSessionRestoreState(WScreen *scr)
|
|||||||
/* Try the clips */
|
/* Try the clips */
|
||||||
if (dock == NULL) {
|
if (dock == NULL) {
|
||||||
for (j = 0; j < w_global.workspace.count; j++) {
|
for (j = 0; j < w_global.workspace.count; j++) {
|
||||||
if (strcmp(scr->workspaces[j]->name, tmp) == 0) {
|
if (strcmp(w_global.workspace.array[j]->name, tmp) == 0) {
|
||||||
dock = scr->workspaces[j]->clip;
|
dock = w_global.workspace.array[j]->clip;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -494,7 +494,7 @@ void wSessionRestoreState(WScreen *scr)
|
|||||||
if (n == 0) {
|
if (n == 0) {
|
||||||
dock = scr->dock;
|
dock = scr->dock;
|
||||||
} else if (n > 0 && n <= w_global.workspace.count) {
|
} else if (n > 0 && n <= w_global.workspace.count) {
|
||||||
dock = scr->workspaces[n - 1]->clip;
|
dock = w_global.workspace.array[n - 1]->clip;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -720,9 +720,9 @@ void StartUp(Bool defaultScreenOnly)
|
|||||||
if (!wPreferences.flags.noclip) {
|
if (!wPreferences.flags.noclip) {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < w_global.workspace.count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (wScreen[j]->workspaces[i]->clip) {
|
if (w_global.workspace.array[i]->clip) {
|
||||||
wScreen[j]->last_dock = wScreen[j]->workspaces[i]->clip;
|
wScreen[j]->last_dock = w_global.workspace.array[i]->clip;
|
||||||
wDockDoAutoLaunch(wScreen[j]->workspaces[i]->clip, i);
|
wDockDoAutoLaunch(w_global.workspace.array[i]->clip, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -876,6 +876,6 @@ static void manageAllWindows(WScreen * scr, int crashRecovery)
|
|||||||
w_global.workspace.last_used = 0;
|
w_global.workspace.last_used = 0;
|
||||||
wWorkspaceForceChange(scr, 0);
|
wWorkspaceForceChange(scr, 0);
|
||||||
if (!wPreferences.flags.noclip)
|
if (!wPreferences.flags.noclip)
|
||||||
wDockShowIcons(scr->workspaces[w_global.workspace.current]->clip);
|
wDockShowIcons(w_global.workspace.array[w_global.workspace.current]->clip);
|
||||||
scr->flags.startup2 = 0;
|
scr->flags.startup2 = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ void UpdateSwitchMenu(WScreen * scr, WWindow * wwin, int action)
|
|||||||
snprintf(entry->rtext, MAX_WORKSPACENAME_WIDTH, "[*]");
|
snprintf(entry->rtext, MAX_WORKSPACENAME_WIDTH, "[*]");
|
||||||
else
|
else
|
||||||
snprintf(entry->rtext, MAX_WORKSPACENAME_WIDTH, "[%s]",
|
snprintf(entry->rtext, MAX_WORKSPACENAME_WIDTH, "[%s]",
|
||||||
scr->workspaces[wwin->frame->workspace]->name);
|
w_global.workspace.array[wwin->frame->workspace]->name);
|
||||||
|
|
||||||
if (wwin->flags.hidden) {
|
if (wwin->flags.hidden) {
|
||||||
entry->flags.indicator_type = MI_HIDDEN;
|
entry->flags.indicator_type = MI_HIDDEN;
|
||||||
@@ -296,7 +296,7 @@ void UpdateSwitchMenu(WScreen * scr, WWindow * wwin, int action)
|
|||||||
} else {
|
} else {
|
||||||
snprintf(entry->rtext, MAX_WORKSPACENAME_WIDTH,
|
snprintf(entry->rtext, MAX_WORKSPACENAME_WIDTH,
|
||||||
"[%s]",
|
"[%s]",
|
||||||
scr->workspaces[wwin->frame->workspace]->name);
|
w_global.workspace.array[wwin->frame->workspace]->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
rt = entry->rtext;
|
rt = entry->rtext;
|
||||||
@@ -374,7 +374,7 @@ static void UpdateSwitchMenuWorkspace(WScreen *scr, int workspace)
|
|||||||
snprintf(menu->entries[i]->rtext, MAX_WORKSPACENAME_WIDTH, "[*]");
|
snprintf(menu->entries[i]->rtext, MAX_WORKSPACENAME_WIDTH, "[*]");
|
||||||
else
|
else
|
||||||
snprintf(menu->entries[i]->rtext, MAX_WORKSPACENAME_WIDTH, "[%s]",
|
snprintf(menu->entries[i]->rtext, MAX_WORKSPACENAME_WIDTH, "[%s]",
|
||||||
scr->workspaces[wwin->frame->workspace]->name);
|
w_global.workspace.array[wwin->frame->workspace]->name);
|
||||||
menu->flags.realized = 0;
|
menu->flags.realized = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -216,7 +216,6 @@ static void makeShortcutCommand(WMenu * menu, WMenuEntry * entry)
|
|||||||
|
|
||||||
static void updateWorkspaceMenu(WMenu * menu)
|
static void updateWorkspaceMenu(WMenu * menu)
|
||||||
{
|
{
|
||||||
WScreen *scr = menu->frame->screen_ptr;
|
|
||||||
char title[MAX_WORKSPACENAME_WIDTH + 1];
|
char title[MAX_WORKSPACENAME_WIDTH + 1];
|
||||||
WMenuEntry *entry;
|
WMenuEntry *entry;
|
||||||
int i;
|
int i;
|
||||||
@@ -225,16 +224,16 @@ static void updateWorkspaceMenu(WMenu * menu)
|
|||||||
if (i < menu->entry_no) {
|
if (i < menu->entry_no) {
|
||||||
|
|
||||||
entry = menu->entries[i];
|
entry = menu->entries[i];
|
||||||
if (strcmp(entry->text, scr->workspaces[i]->name) != 0) {
|
if (strcmp(entry->text, w_global.workspace.array[i]->name) != 0) {
|
||||||
wfree(entry->text);
|
wfree(entry->text);
|
||||||
strncpy(title, scr->workspaces[i]->name, MAX_WORKSPACENAME_WIDTH);
|
strncpy(title, w_global.workspace.array[i]->name, MAX_WORKSPACENAME_WIDTH);
|
||||||
title[MAX_WORKSPACENAME_WIDTH] = 0;
|
title[MAX_WORKSPACENAME_WIDTH] = 0;
|
||||||
menu->entries[i]->text = wstrdup(title);
|
menu->entries[i]->text = wstrdup(title);
|
||||||
menu->entries[i]->rtext = GetShortcutKey(wKeyBindings[WKBD_MOVE_WORKSPACE1 + i]);
|
menu->entries[i]->rtext = GetShortcutKey(wKeyBindings[WKBD_MOVE_WORKSPACE1 + i]);
|
||||||
menu->flags.realized = 0;
|
menu->flags.realized = 0;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
strncpy(title, scr->workspaces[i]->name, MAX_WORKSPACENAME_WIDTH);
|
strncpy(title, w_global.workspace.array[i]->name, MAX_WORKSPACENAME_WIDTH);
|
||||||
title[MAX_WORKSPACENAME_WIDTH] = 0;
|
title[MAX_WORKSPACENAME_WIDTH] = 0;
|
||||||
|
|
||||||
entry = wMenuAddCallback(menu, title, switchWSCommand, NULL);
|
entry = wMenuAddCallback(menu, title, switchWSCommand, NULL);
|
||||||
|
|||||||
@@ -495,7 +495,7 @@ static void saveSettings(WMButton *button, InspectorPanel *panel)
|
|||||||
|
|
||||||
i = WMGetPopUpButtonSelectedItem(panel->wsP) - 1;
|
i = WMGetPopUpButtonSelectedItem(panel->wsP) - 1;
|
||||||
if (i >= 0 && i < w_global.workspace.count) {
|
if (i >= 0 && i < w_global.workspace.count) {
|
||||||
value = WMCreatePLString(panel->frame->screen_ptr->workspaces[i]->name);
|
value = WMCreatePLString(w_global.workspace.array[i]->name);
|
||||||
different |= insertAttribute(dict, winDic, AStartWorkspace, value, flags);
|
different |= insertAttribute(dict, winDic, AStartWorkspace, value, flags);
|
||||||
WMReleasePropList(value);
|
WMReleasePropList(value);
|
||||||
}
|
}
|
||||||
@@ -1478,7 +1478,6 @@ static void create_tab_window_advanced(WWindow *wwin, InspectorPanel *panel, int
|
|||||||
|
|
||||||
static void create_tab_icon_workspace(WWindow *wwin, InspectorPanel *panel, int frame_width)
|
static void create_tab_icon_workspace(WWindow *wwin, InspectorPanel *panel, int frame_width)
|
||||||
{
|
{
|
||||||
WScreen *scr = wwin->screen_ptr;
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
/* miniwindow/workspace */
|
/* miniwindow/workspace */
|
||||||
@@ -1530,7 +1529,7 @@ static void create_tab_icon_workspace(WWindow *wwin, InspectorPanel *panel, int
|
|||||||
WMAddPopUpButtonItem(panel->wsP, _("Nowhere in particular"));
|
WMAddPopUpButtonItem(panel->wsP, _("Nowhere in particular"));
|
||||||
|
|
||||||
for (i = 0; i < w_global.workspace.count; i++)
|
for (i = 0; i < w_global.workspace.count; i++)
|
||||||
WMAddPopUpButtonItem(panel->wsP, scr->workspaces[i]->name);
|
WMAddPopUpButtonItem(panel->wsP, w_global.workspace.array[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 <= w_global.workspace.count)
|
if (i >= 0 && i <= w_global.workspace.count)
|
||||||
|
|||||||
@@ -760,8 +760,8 @@ static void updateWorkspaceNames(WScreen *scr)
|
|||||||
pos = buf;
|
pos = buf;
|
||||||
len = 0;
|
len = 0;
|
||||||
for (i = 0; i < w_global.workspace.count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
curr_size = strlen(scr->workspaces[i]->name);
|
curr_size = strlen(w_global.workspace.array[i]->name);
|
||||||
strcpy(pos, scr->workspaces[i]->name);
|
strcpy(pos, w_global.workspace.array[i]->name);
|
||||||
pos += (curr_size + 1);
|
pos += (curr_size + 1);
|
||||||
len += (curr_size + 1);
|
len += (curr_size + 1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,13 +106,13 @@ int wWorkspaceNew(WScreen *scr)
|
|||||||
list = wmalloc(sizeof(WWorkspace *) * w_global.workspace.count);
|
list = wmalloc(sizeof(WWorkspace *) * w_global.workspace.count);
|
||||||
|
|
||||||
for (i = 0; i < w_global.workspace.count - 1; i++)
|
for (i = 0; i < w_global.workspace.count - 1; i++)
|
||||||
list[i] = scr->workspaces[i];
|
list[i] = w_global.workspace.array[i];
|
||||||
|
|
||||||
list[i] = wspace;
|
list[i] = wspace;
|
||||||
if (scr->workspaces)
|
if (w_global.workspace.array)
|
||||||
wfree(scr->workspaces);
|
wfree(w_global.workspace.array);
|
||||||
|
|
||||||
scr->workspaces = list;
|
w_global.workspace.array = list;
|
||||||
|
|
||||||
wWorkspaceMenuUpdate(scr, scr->workspace_menu);
|
wWorkspaceMenuUpdate(scr, scr->workspace_menu);
|
||||||
wWorkspaceMenuUpdate(scr, scr->clip_ws_menu);
|
wWorkspaceMenuUpdate(scr, scr->clip_ws_menu);
|
||||||
@@ -144,23 +144,23 @@ Bool wWorkspaceDelete(WScreen * scr, int workspace)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!wPreferences.flags.noclip) {
|
if (!wPreferences.flags.noclip) {
|
||||||
wDockDestroy(scr->workspaces[workspace]->clip);
|
wDockDestroy(w_global.workspace.array[workspace]->clip);
|
||||||
scr->workspaces[workspace]->clip = NULL;
|
w_global.workspace.array[workspace]->clip = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
list = wmalloc(sizeof(WWorkspace *) * (w_global.workspace.count - 1));
|
list = wmalloc(sizeof(WWorkspace *) * (w_global.workspace.count - 1));
|
||||||
j = 0;
|
j = 0;
|
||||||
for (i = 0; i < w_global.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++] = w_global.workspace.array[i];
|
||||||
} else {
|
} else {
|
||||||
if (scr->workspaces[i]->name)
|
if (w_global.workspace.array[i]->name)
|
||||||
wfree(scr->workspaces[i]->name);
|
wfree(w_global.workspace.array[i]->name);
|
||||||
wfree(scr->workspaces[i]);
|
wfree(w_global.workspace.array[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
wfree(scr->workspaces);
|
wfree(w_global.workspace.array);
|
||||||
scr->workspaces = list;
|
w_global.workspace.array = list;
|
||||||
|
|
||||||
w_global.workspace.count--;
|
w_global.workspace.count--;
|
||||||
|
|
||||||
@@ -250,7 +250,7 @@ static void showWorkspaceName(WScreen * scr, int workspace)
|
|||||||
Pixmap text, mask;
|
Pixmap text, mask;
|
||||||
int w, h;
|
int w, h;
|
||||||
int px, py;
|
int px, py;
|
||||||
char *name = scr->workspaces[workspace]->name;
|
char *name = w_global.workspace.array[workspace]->name;
|
||||||
int len = strlen(name);
|
int len = strlen(name);
|
||||||
int x, y;
|
int x, y;
|
||||||
#ifdef XINERAMA
|
#ifdef XINERAMA
|
||||||
@@ -617,8 +617,8 @@ void wWorkspaceForceChange(WScreen * scr, int workspace)
|
|||||||
if (scr->dock)
|
if (scr->dock)
|
||||||
wAppIconPaint(scr->dock->icon_array[0]);
|
wAppIconPaint(scr->dock->icon_array[0]);
|
||||||
|
|
||||||
if (!wPreferences.flags.noclip && (scr->workspaces[workspace]->clip->auto_collapse ||
|
if (!wPreferences.flags.noclip && (w_global.workspace.array[workspace]->clip->auto_collapse ||
|
||||||
scr->workspaces[workspace]->clip->auto_raise_lower)) {
|
w_global.workspace.array[workspace]->clip->auto_raise_lower)) {
|
||||||
/* to handle enter notify. This will also */
|
/* to handle enter notify. This will also */
|
||||||
XUnmapWindow(dpy, scr->clip_icon->icon->core->window);
|
XUnmapWindow(dpy, scr->clip_icon->icon->core->window);
|
||||||
XMapWindow(dpy, scr->clip_icon->icon->core->window);
|
XMapWindow(dpy, scr->clip_icon->icon->core->window);
|
||||||
@@ -681,8 +681,8 @@ void wWorkspaceRename(WScreen *scr, int workspace, const char *name)
|
|||||||
wfree(tmp);
|
wfree(tmp);
|
||||||
|
|
||||||
/* update workspace */
|
/* update workspace */
|
||||||
wfree(scr->workspaces[workspace]->name);
|
wfree(w_global.workspace.array[workspace]->name);
|
||||||
scr->workspaces[workspace]->name = wstrdup(buf);
|
w_global.workspace.array[workspace]->name = wstrdup(buf);
|
||||||
|
|
||||||
if (scr->clip_ws_menu) {
|
if (scr->clip_ws_menu) {
|
||||||
if (strcmp(scr->clip_ws_menu->entries[workspace + MC_WORKSPACE1]->text, buf) != 0) {
|
if (strcmp(scr->clip_ws_menu->entries[workspace + MC_WORKSPACE1]->text, buf) != 0) {
|
||||||
@@ -753,7 +753,7 @@ void wWorkspaceMenuUpdate(WScreen * scr, WMenu * menu)
|
|||||||
i = w_global.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, w_global.workspace.array[ws]->name, MAX_WORKSPACENAME_WIDTH);
|
||||||
|
|
||||||
entry = wMenuAddCallback(menu, title, switchWSCommand, (void *)ws);
|
entry = wMenuAddCallback(menu, title, switchWSCommand, (void *)ws);
|
||||||
entry->flags.indicator = 1;
|
entry->flags.indicator = 1;
|
||||||
@@ -810,7 +810,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 < w_global.workspace.count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
pstr = WMCreatePLString(scr->workspaces[i]->name);
|
pstr = WMCreatePLString(w_global.workspace.array[i]->name);
|
||||||
wks_state = WMCreatePLDictionary(dName, pstr, NULL);
|
wks_state = WMCreatePLDictionary(dName, pstr, NULL);
|
||||||
WMReleasePropList(pstr);
|
WMReleasePropList(pstr);
|
||||||
if (!wPreferences.flags.noclip) {
|
if (!wPreferences.flags.noclip) {
|
||||||
@@ -862,26 +862,26 @@ void wWorkspaceRestoreState(WScreen *scr)
|
|||||||
scr->workspace_menu->flags.realized = 0;
|
scr->workspace_menu->flags.realized = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
wfree(scr->workspaces[i]->name);
|
wfree(w_global.workspace.array[i]->name);
|
||||||
scr->workspaces[i]->name = wstrdup(WMGetFromPLString(pstr));
|
w_global.workspace.array[i]->name = wstrdup(WMGetFromPLString(pstr));
|
||||||
if (!wPreferences.flags.noclip) {
|
if (!wPreferences.flags.noclip) {
|
||||||
int added_omnipresent_icons = 0;
|
int added_omnipresent_icons = 0;
|
||||||
|
|
||||||
clip_state = WMGetFromPLDictionary(wks_state, dClip);
|
clip_state = WMGetFromPLDictionary(wks_state, dClip);
|
||||||
if (scr->workspaces[i]->clip)
|
if (w_global.workspace.array[i]->clip)
|
||||||
wDockDestroy(scr->workspaces[i]->clip);
|
wDockDestroy(w_global.workspace.array[i]->clip);
|
||||||
|
|
||||||
scr->workspaces[i]->clip = wDockRestoreState(scr, clip_state, WM_CLIP);
|
w_global.workspace.array[i]->clip = wDockRestoreState(scr, clip_state, WM_CLIP);
|
||||||
if (i > 0)
|
if (i > 0)
|
||||||
wDockHideIcons(scr->workspaces[i]->clip);
|
wDockHideIcons(w_global.workspace.array[i]->clip);
|
||||||
|
|
||||||
/* We set the global icons here, because scr->workspaces[i]->clip
|
/* We set the global icons here, because scr->workspaces[i]->clip
|
||||||
* was not valid in wDockRestoreState().
|
* was not valid in wDockRestoreState().
|
||||||
* There we only set icon->omnipresent to know which icons we
|
* There we only set icon->omnipresent to know which icons we
|
||||||
* need to set here.
|
* need to set here.
|
||||||
*/
|
*/
|
||||||
for (j = 0; j < scr->workspaces[i]->clip->max_icons; j++) {
|
for (j = 0; j < w_global.workspace.array[i]->clip->max_icons; j++) {
|
||||||
WAppIcon *aicon = scr->workspaces[i]->clip->icon_array[j];
|
WAppIcon *aicon = w_global.workspace.array[i]->clip->icon_array[j];
|
||||||
int k;
|
int k;
|
||||||
|
|
||||||
if (!aicon || !aicon->omnipresent)
|
if (!aicon || !aicon->omnipresent)
|
||||||
@@ -893,21 +893,21 @@ void wWorkspaceRestoreState(WScreen *scr)
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Move this appicon from workspace i to workspace 0 */
|
/* Move this appicon from workspace i to workspace 0 */
|
||||||
scr->workspaces[i]->clip->icon_array[j] = NULL;
|
w_global.workspace.array[i]->clip->icon_array[j] = NULL;
|
||||||
scr->workspaces[i]->clip->icon_count--;
|
w_global.workspace.array[i]->clip->icon_count--;
|
||||||
|
|
||||||
added_omnipresent_icons++;
|
added_omnipresent_icons++;
|
||||||
/* If there are too many omnipresent appicons, we are in trouble */
|
/* If there are too many omnipresent appicons, we are in trouble */
|
||||||
assert(scr->workspaces[0]->clip->icon_count + added_omnipresent_icons
|
assert(w_global.workspace.array[0]->clip->icon_count + added_omnipresent_icons
|
||||||
<= scr->workspaces[0]->clip->max_icons);
|
<= w_global.workspace.array[0]->clip->max_icons);
|
||||||
/* Find first free spot on workspace 0 */
|
/* Find first free spot on workspace 0 */
|
||||||
for (k = 0; k < scr->workspaces[0]->clip->max_icons; k++)
|
for (k = 0; k < w_global.workspace.array[0]->clip->max_icons; k++)
|
||||||
if (scr->workspaces[0]->clip->icon_array[k] == NULL)
|
if (w_global.workspace.array[0]->clip->icon_array[k] == NULL)
|
||||||
break;
|
break;
|
||||||
scr->workspaces[0]->clip->icon_array[k] = aicon;
|
w_global.workspace.array[0]->clip->icon_array[k] = aicon;
|
||||||
aicon->dock = scr->workspaces[0]->clip;
|
aicon->dock = w_global.workspace.array[0]->clip;
|
||||||
}
|
}
|
||||||
scr->workspaces[0]->clip->icon_count += added_omnipresent_icons;
|
w_global.workspace.array[0]->clip->icon_count += added_omnipresent_icons;
|
||||||
}
|
}
|
||||||
|
|
||||||
WMPostNotificationName(WMNWorkspaceNameChanged, scr, (void *)(uintptr_t) i);
|
WMPostNotificationName(WMNWorkspaceNameChanged, scr, (void *)(uintptr_t) i);
|
||||||
@@ -922,7 +922,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 < w_global.workspace.count; i++) {
|
for (i = 0; i < w_global.workspace.count; i++) {
|
||||||
if (strcmp(scr->workspaces[i]->name, value) == 0) {
|
if (strcmp(w_global.workspace.array[i]->name, value) == 0) {
|
||||||
w = i;
|
w = i;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user