1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-20 21:08:08 +01:00

Variable current_workspace moved to workspace object in global namespace

The variable current_workspace, that contains the current workspace
is moved to the global workspace properties.

Now the screen is not needed to know the workspace_count.
This commit is contained in:
Rodolfo García Peñas (kix)
2013-10-08 00:56:32 +02:00
committed by Carlos R. Mafra
parent e5ae684d02
commit c610b8d7ce
20 changed files with 116 additions and 117 deletions

View File

@@ -602,8 +602,8 @@ static void find_Maximus_geometry(WWindow *wwin, WArea usableArea, int *new_x, i
/* The focused window is always the last in the list */
while (tmp->prev) {
/* ignore windows in other workspaces etc */
if (tmp->prev->frame->workspace != wwin->screen_ptr->current_workspace
|| tmp->prev->flags.miniaturized || tmp->prev->flags.hidden) {
if (tmp->prev->frame->workspace != w_global.workspace.current ||
tmp->prev->flags.miniaturized || tmp->prev->flags.hidden) {
tmp = tmp->prev;
continue;
}
@@ -629,8 +629,8 @@ static void find_Maximus_geometry(WWindow *wwin, WArea usableArea, int *new_x, i
tmp = wwin;
while (tmp->prev) {
if (tmp->prev->frame->workspace != wwin->screen_ptr->current_workspace
|| tmp->prev->flags.miniaturized || tmp->prev->flags.hidden) {
if (tmp->prev->frame->workspace != w_global.workspace.current ||
tmp->prev->flags.miniaturized || tmp->prev->flags.hidden) {
tmp = tmp->prev;
continue;
}
@@ -1067,7 +1067,7 @@ void wIconifyWindow(WWindow * wwin)
return;
}
present = wwin->frame->workspace == wwin->screen_ptr->current_workspace;
present = wwin->frame->workspace == w_global.workspace.current;
/* if the window is in another workspace, simplify process */
if (present) {
@@ -1136,7 +1136,7 @@ void wIconifyWindow(WWindow * wwin)
wwin->flags.skip_next_animation = 0;
if (!wPreferences.disable_miniwindows && !wwin->flags.net_handle_icon) {
if (wwin->screen_ptr->current_workspace == wwin->frame->workspace ||
if (w_global.workspace.current == wwin->frame->workspace ||
IS_OMNIPRESENT(wwin) || wPreferences.sticky_icons)
XMapWindow(dpy, wwin->icon->core->window);
@@ -1203,10 +1203,10 @@ void wDeiconifyWindow(WWindow *wwin)
/* we're hiding for show_desktop */
int netwm_hidden = wwin->flags.net_show_desktop &&
wwin->frame->workspace != wwin->screen_ptr->current_workspace;
wwin->frame->workspace != w_global.workspace.current;
if (!netwm_hidden)
wWindowChangeWorkspace(wwin, wwin->screen_ptr->current_workspace);
wWindowChangeWorkspace(wwin, w_global.workspace.current);
if (!wwin->flags.miniaturized) {
ignore_wks_change = 0;
@@ -1399,7 +1399,7 @@ void wHideAll(WScreen *scr)
for (i = 0; i < wcount; i++) {
wwin = windows[i];
if (wwin->frame->workspace == scr->current_workspace
if (wwin->frame->workspace == w_global.workspace.current
&& !(wwin->flags.miniaturized || wwin->flags.hidden)
&& !wwin->flags.internal_window
&& !WFLAGP(wwin, no_miniaturizable)
@@ -1423,7 +1423,7 @@ void wHideOtherApplications(WWindow *awin)
while (wwin) {
if (wwin != awin
&& wwin->frame->workspace == awin->screen_ptr->current_workspace
&& wwin->frame->workspace == w_global.workspace.current
&& !(wwin->flags.miniaturized || wwin->flags.hidden)
&& !wwin->flags.internal_window
&& wGetWindowOfInspectorForWindow(wwin) != awin && !WFLAGP(wwin, no_hide_others)) {
@@ -1526,7 +1526,7 @@ void wHideApplication(WApplication *wapp)
static void unhideWindow(WIcon *icon, int icon_x, int icon_y, WWindow *wwin, int animate, int bringToCurrentWS)
{
if (bringToCurrentWS)
wWindowChangeWorkspace(wwin, wwin->screen_ptr->current_workspace);
wWindowChangeWorkspace(wwin, w_global.workspace.current);
wwin->flags.hidden = 0;
@@ -1539,7 +1539,7 @@ static void unhideWindow(WIcon *icon, int icon_x, int icon_y, WWindow *wwin, int
}
#endif
wwin->flags.skip_next_animation = 0;
if (wwin->screen_ptr->current_workspace == wwin->frame->workspace) {
if (w_global.workspace.current == wwin->frame->workspace) {
XMapWindow(dpy, wwin->client_win);
XMapWindow(dpy, wwin->frame->core->window);
wClientSetState(wwin, NormalState, None);
@@ -1585,7 +1585,7 @@ void wUnhideApplication(WApplication *wapp, Bool miniwindows, Bool bringToCurren
if (wlist->flags.miniaturized) {
if ((bringToCurrentWS || wPreferences.sticky_icons ||
wlist->frame->workspace == scr->current_workspace) && wlist->icon) {
wlist->frame->workspace == w_global.workspace.current) && wlist->icon) {
if (!wlist->icon->mapped) {
int x, y;
@@ -1601,18 +1601,18 @@ void wUnhideApplication(WApplication *wapp, Bool miniwindows, Bool bringToCurren
wRaiseFrame(wlist->icon->core);
}
if (bringToCurrentWS)
wWindowChangeWorkspace(wlist, scr->current_workspace);
wWindowChangeWorkspace(wlist, w_global.workspace.current);
wlist->flags.hidden = 0;
if (miniwindows && wlist->frame->workspace == scr->current_workspace) {
if (miniwindows && wlist->frame->workspace == w_global.workspace.current) {
wDeiconifyWindow(wlist);
}
WMPostNotificationName(WMNChangedState, wlist, "hide");
} else if (wlist->flags.shaded) {
if (bringToCurrentWS)
wWindowChangeWorkspace(wlist, scr->current_workspace);
wWindowChangeWorkspace(wlist, w_global.workspace.current);
wlist->flags.hidden = 0;
wRaiseFrame(wlist->frame->core);
if (wlist->frame->workspace == scr->current_workspace) {
if (wlist->frame->workspace == w_global.workspace.current) {
XMapWindow(dpy, wlist->frame->core->window);
if (miniwindows) {
wUnshadeWindow(wlist);
@@ -1624,8 +1624,8 @@ void wUnhideApplication(WApplication *wapp, Bool miniwindows, Bool bringToCurren
wapp->app_icon->y_pos, wlist, animate, bringToCurrentWS);
animate = False;
} else {
if (bringToCurrentWS && wlist->frame->workspace != scr->current_workspace)
wWindowChangeWorkspace(wlist, scr->current_workspace);
if (bringToCurrentWS && wlist->frame->workspace != w_global.workspace.current)
wWindowChangeWorkspace(wlist, w_global.workspace.current);
wRaiseFrame(wlist->frame->core);
}
@@ -1659,7 +1659,7 @@ void wShowAllWindows(WScreen *scr)
old_foc = wwin = scr->focused_window;
while (wwin) {
if (!wwin->flags.internal_window &&
(scr->current_workspace == wwin->frame->workspace || IS_OMNIPRESENT(wwin))) {
(w_global.workspace.current == wwin->frame->workspace || IS_OMNIPRESENT(wwin))) {
if (wwin->flags.miniaturized) {
wwin->flags.skip_next_animation = 1;
wDeiconifyWindow(wwin);
@@ -1802,7 +1802,7 @@ void wArrangeIcons(WScreen *scr, Bool arrangeAll)
while (wwin) {
if (wwin->icon && wwin->flags.miniaturized && !wwin->flags.hidden &&
(wwin->frame->workspace == scr->current_workspace ||
(wwin->frame->workspace == w_global.workspace.current ||
IS_OMNIPRESENT(wwin) || wPreferences.sticky_icons)) {
head = wGetHeadForWindow(wwin);
@@ -1868,7 +1868,7 @@ void wSelectWindow(WWindow *wwin, Bool flag)
void wMakeWindowVisible(WWindow *wwin)
{
if (wwin->frame->workspace != wwin->screen_ptr->current_workspace)
if (wwin->frame->workspace != w_global.workspace.current)
wWorkspaceChange(wwin->screen_ptr, wwin->frame->workspace);
if (wwin->flags.shaded)