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:
committed by
Carlos R. Mafra
parent
e5ae684d02
commit
c610b8d7ce
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user