This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project wmaker-crm.git.
The branch, next has been updated
via e23f4d1d8fba12aa0d0a3f7926d844f2f4c75c9e (commit)
via 357cd9a1111643709fc8a96905050d3aabdfe6cf (commit)
via 67a49c4dedf7e7beba1b2a308b1a8c057befe320 (commit)
via 530e68918ce3bec14cef08cba9868e08780906ea (commit)
from faca40cd08486363ae62005b280683ea3806d394 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://repo.or.cz/w/wmaker-crm.git/commit/e23f4d1d8fba12aa0d0a3f7926d844f2f4c75c9e
commit e23f4d1d8fba12aa0d0a3f7926d844f2f4c75c9e
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Mon Oct 7 00:12:09 2013 +0200
app_icon_list moved to w_global
The application icon list is moved to w_global.
Signed-off-by: Rodolfo GarcÃa Peñas (kix) <[email protected]>
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index a04f1fa..146d42d 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -535,6 +535,9 @@ extern struct wmaker_global_variables {
/* Keyboard and shortcuts */
WMArray *shortcutWindows[MAX_WINDOW_SHORTCUTS];
+ /* Application related */
+ struct WAppIcon *app_icon_list; /* list of all aplication icons */
+
} w_global;
extern unsigned int ValidModMask;
diff --git a/src/actions.c b/src/actions.c
index d7dc498..d2cc77a 100644
--- a/src/actions.c
+++ b/src/actions.c
@@ -54,7 +54,6 @@
int ignore_wks_change = 0;
extern WWorkspace_info wks_info;
-extern WAppIcon *app_icon_list;
static void find_Maximus_geometry(WWindow *wwin, WArea usableArea, int *new_x,
int *new_y,
unsigned int *new_width, unsigned int
*new_height);
@@ -1768,7 +1767,7 @@ void wArrangeIcons(WScreen *scr, Bool arrangeAll)
: vars[head].yo + vars[head].ys*(vars[head].si*isize))
/* arrange application icons */
- aicon = app_icon_list;
+ aicon = w_global.app_icon_list;
/* reverse them to avoid unnecessarily sliding of icons */
while (aicon && aicon->next)
aicon = aicon->next;
diff --git a/src/appicon.c b/src/appicon.c
index c197c6b..67083d9 100644
--- a/src/appicon.c
+++ b/src/appicon.c
@@ -63,7 +63,6 @@
/**** Global variables ****/
extern WDDomain *WDWindowAttributes;
extern WWorkspace_info wks_info;
-extern WAppIcon *app_icon_list;
#define MOD_MASK wPreferences.modifier_mask
#define ICON_SIZE wPreferences.icon_size
@@ -1193,20 +1192,20 @@ static void create_appicon_from_dock(WWindow *wwin,
WApplication *wapp, Window m
static void add_to_appicon_list(WAppIcon *appicon)
{
appicon->prev = NULL;
- appicon->next = app_icon_list;
- if (app_icon_list)
- app_icon_list->prev = appicon;
+ appicon->next = w_global.app_icon_list;
+ if (w_global.app_icon_list)
+ w_global.app_icon_list->prev = appicon;
- app_icon_list = appicon;
+ w_global.app_icon_list = appicon;
}
/* Remove the appicon from the appiconlist */
static void remove_from_appicon_list(WAppIcon *appicon)
{
- if (appicon == app_icon_list) {
+ if (appicon == w_global.app_icon_list) {
if (appicon->next)
appicon->next->prev = NULL;
- app_icon_list = appicon->next;
+ w_global.app_icon_list = appicon->next;
} else {
if (appicon->next)
appicon->next->prev = appicon->prev;
diff --git a/src/defaults.c b/src/defaults.c
index 9606f7f..cf86285 100644
--- a/src/defaults.c
+++ b/src/defaults.c
@@ -77,7 +77,6 @@ extern WDDomain *WDWindowAttributes;
extern WDDomain *WDRootMenu;
extern int wScreenCount;
extern WWorkspace_info wks_info;
-extern WAppIcon *app_icon_list;
extern WShortKey wKeyBindings[WKBD_LAST];
typedef struct _WDefaultEntry WDefaultEntry;
@@ -1218,7 +1217,7 @@ void wReadDefaults(WScreen * scr, WMPropList * new_dict)
void wDefaultUpdateIcons(WScreen *scr)
{
- WAppIcon *aicon = app_icon_list;
+ WAppIcon *aicon = w_global.app_icon_list;
WDrawerChain *dc;
WWindow *wwin = scr->focused_window;
diff --git a/src/dock.c b/src/dock.c
index 634f7d9..64d4ee3 100644
--- a/src/dock.c
+++ b/src/dock.c
@@ -67,7 +67,6 @@
/**** Global variables ****/
extern WWorkspace_info wks_info;
-extern WAppIcon *app_icon_list;
#define MOD_MASK wPreferences.modifier_mask
#define ICON_SIZE wPreferences.icon_size
@@ -665,7 +664,7 @@ static void colectIconsCallback(WMenu *menu, WMenuEntry
*entry)
assert(entry->clientdata != NULL);
clip = clickedIcon->dock;
- aicon = app_icon_list;
+ aicon = w_global.app_icon_list;
while (aicon) {
if (!aicon->docked && wDockFindFreeSlot(clip, &x, &y)) {
diff --git a/src/main.c b/src/main.c
index b15d661..3c50e07 100644
--- a/src/main.c
+++ b/src/main.c
@@ -95,9 +95,6 @@ WDDomain *WDRootMenu = NULL;
/* Workspace information */
WWorkspace_info wks_info;
-/* Appicons information - App Icon List */
-struct WAppIcon *app_icon_list;
-
#ifdef SHAPE
Bool wShapeSupported;
int wShapeEventBase;
http://repo.or.cz/w/wmaker-crm.git/commit/357cd9a1111643709fc8a96905050d3aabdfe6cf
commit 357cd9a1111643709fc8a96905050d3aabdfe6cf
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Mon Oct 7 00:12:08 2013 +0200
shortcutWindows moved to w_global
The variable shortcutWindows is moved to w_global. Now, the shortcuts
are used in whole Window Maker, not only in the current screen.
Signed-off-by: Rodolfo GarcÃa Peñas (kix) <[email protected]>
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index 2e5742f..a04f1fa 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -532,6 +532,9 @@ extern struct wmaker_global_variables {
/* Session related */
WMPropList *session_state;
+ /* Keyboard and shortcuts */
+ WMArray *shortcutWindows[MAX_WINDOW_SHORTCUTS];
+
} w_global;
extern unsigned int ValidModMask;
diff --git a/src/event.c b/src/event.c
index 928ebcb..2416c48 100644
--- a/src/event.c
+++ b/src/event.c
@@ -1635,8 +1635,8 @@ static void handleKeyPress(XEvent * event)
widx = command - WKBD_WINDOW1;
- if (scr->shortcutWindows[widx]) {
- WMArray *list = scr->shortcutWindows[widx];
+ if (w_global.shortcutWindows[widx]) {
+ WMArray *list = w_global.shortcutWindows[widx];
int cw;
int count = WMGetArrayItemCount(list);
WWindow *twin;
@@ -1662,18 +1662,16 @@ static void handleKeyPress(XEvent * event)
WMAddToArray(list, twin);
} else if (wwin && ISMAPPED(wwin) && ISFOCUSED(wwin)) {
- if (scr->shortcutWindows[widx]) {
- WMFreeArray(scr->shortcutWindows[widx]);
- scr->shortcutWindows[widx] = NULL;
+ if (w_global.shortcutWindows[widx]) {
+ WMFreeArray(w_global.shortcutWindows[widx]);
+ w_global.shortcutWindows[widx] = NULL;
}
if (wwin->flags.selected && scr->selected_windows) {
- scr->shortcutWindows[widx] =
WMDuplicateArray(scr->selected_windows);
-
/*WMRemoveFromArray(scr->shortcutWindows[index], wwin);
- WMInsertInArray(scr->shortcutWindows[index],
0, wwin); */
+ w_global.shortcutWindows[widx] =
WMDuplicateArray(scr->selected_windows);
} else {
- scr->shortcutWindows[widx] = WMCreateArray(4);
- WMAddToArray(scr->shortcutWindows[widx], wwin);
+ w_global.shortcutWindows[widx] =
WMCreateArray(4);
+ WMAddToArray(w_global.shortcutWindows[widx],
wwin);
}
wSelectWindow(wwin, !wwin->flags.selected);
@@ -1683,12 +1681,11 @@ static void handleKeyPress(XEvent * event)
XFlush(dpy);
} else if (scr->selected_windows &&
WMGetArrayItemCount(scr->selected_windows)) {
-
if (wwin->flags.selected && scr->selected_windows) {
- if (scr->shortcutWindows[widx]) {
- WMFreeArray(scr->shortcutWindows[widx]);
- }
- scr->shortcutWindows[widx] =
WMDuplicateArray(scr->selected_windows);
+ if (w_global.shortcutWindows[widx])
+
WMFreeArray(w_global.shortcutWindows[widx]);
+
+ w_global.shortcutWindows[widx] =
WMDuplicateArray(scr->selected_windows);
}
}
diff --git a/src/screen.h b/src/screen.h
index 5675915..ea1edcc 100644
--- a/src/screen.h
+++ b/src/screen.h
@@ -257,10 +257,6 @@ typedef struct _WScreen {
WMHandlerID *autoRaiseTimer;
Window autoRaiseWindow; /* window that is scheduled to be
* raised */
-
- /* for window shortcuts */
- WMArray *shortcutWindows[MAX_WINDOW_SHORTCUTS];
-
#ifdef XDND
char *xdestring;
#endif
diff --git a/src/session.c b/src/session.c
index c2c67bb..d6c0bf6 100644
--- a/src/session.c
+++ b/src/session.c
@@ -210,8 +210,8 @@ static WMPropList *makeWindowState(WWindow * wwin,
WApplication * wapp)
geometry = WMCreatePLString(buffer);
for (mask = 0, i = 0; i < MAX_WINDOW_SHORTCUTS; i++) {
- if (scr->shortcutWindows[i] != NULL &&
- WMGetFirstInArray(scr->shortcutWindows[i], wwin) !=
WANotFound)
+ if (w_global.shortcutWindows[i] != NULL &&
+ WMGetFirstInArray(w_global.shortcutWindows[i],
wwin) != WANotFound)
mask |= 1 << i;
}
diff --git a/src/window.c b/src/window.c
index 92dfb15..4bcda9d 100644
--- a/src/window.c
+++ b/src/window.c
@@ -185,14 +185,14 @@ void wWindowDestroy(WWindow *wwin)
wwin->flags.destroyed = 1;
for (i = 0; i < MAX_WINDOW_SHORTCUTS; i++) {
- if (!wwin->screen_ptr->shortcutWindows[i])
+ if (!w_global.shortcutWindows[i])
continue;
- WMRemoveFromArray(wwin->screen_ptr->shortcutWindows[i], wwin);
+ WMRemoveFromArray(w_global.shortcutWindows[i], wwin);
- if (!WMGetArrayItemCount(wwin->screen_ptr->shortcutWindows[i]))
{
- WMFreeArray(wwin->screen_ptr->shortcutWindows[i]);
- wwin->screen_ptr->shortcutWindows[i] = NULL;
+ if (!WMGetArrayItemCount(w_global.shortcutWindows[i])) {
+ WMFreeArray(w_global.shortcutWindows[i]);
+ w_global.shortcutWindows[i] = NULL;
}
}
@@ -891,10 +891,10 @@ WWindow *wManageWindow(WScreen *scr, Window window)
for (i = 0; i < MAX_WINDOW_SHORTCUTS; i++) {
if (mask & (1 << i)) {
- if (!scr->shortcutWindows[i])
- scr->shortcutWindows[i]
= WMCreateArray(4);
+ if
(!w_global.shortcutWindows[i])
+
w_global.shortcutWindows[i] = WMCreateArray(4);
-
WMAddToArray(scr->shortcutWindows[i], wwin);
+
WMAddToArray(w_global.shortcutWindows[i], wwin);
}
}
}
@@ -2273,7 +2273,7 @@ void wWindowConfigureBorders(WWindow *wwin)
}
}
-void wWindowSaveState(WWindow * wwin)
+void wWindowSaveState(WWindow *wwin)
{
long data[10];
int i;
@@ -2297,10 +2297,11 @@ void wWindowSaveState(WWindow * wwin)
}
for (i = 0; i < MAX_WINDOW_SHORTCUTS; i++) {
- if (wwin->screen_ptr->shortcutWindows[i] &&
- WMCountInArray(wwin->screen_ptr->shortcutWindows[i], wwin))
+ if (w_global.shortcutWindows[i] &&
+ WMCountInArray(w_global.shortcutWindows[i], wwin))
data[9] |= 1 << i;
}
+
XChangeProperty(dpy, wwin->client_win, w_global.atom.wmaker.state,
w_global.atom.wmaker.state, 32, PropModeReplace,
(unsigned char *)data, 10);
}
diff --git a/src/winmenu.c b/src/winmenu.c
index 4bf8c1a..e3dbced 100644
--- a/src/winmenu.c
+++ b/src/winmenu.c
@@ -187,24 +187,22 @@ static void switchWSCommand(WMenu * menu, WMenuEntry *
entry)
wWindowChangeWorkspace(wwin, entry->order);
}
-static void makeShortcutCommand(WMenu * menu, WMenuEntry * entry)
+static void makeShortcutCommand(WMenu *menu, WMenuEntry *entry)
{
WWindow *wwin = (WWindow *) entry->clientdata;
WScreen *scr = wwin->screen_ptr;
int index = entry->order - WO_ENTRIES;
- if (scr->shortcutWindows[index]) {
- WMFreeArray(scr->shortcutWindows[index]);
- scr->shortcutWindows[index] = NULL;
+ if (w_global.shortcutWindows[index]) {
+ WMFreeArray(w_global.shortcutWindows[index]);
+ w_global.shortcutWindows[index] = NULL;
}
if (wwin->flags.selected && scr->selected_windows) {
- scr->shortcutWindows[index] =
WMDuplicateArray(scr->selected_windows);
- /*WMRemoveFromArray(scr->shortcutWindows[index], wwin);
- WMInsertInArray(scr->shortcutWindows[index], 0, wwin); */
+ w_global.shortcutWindows[index] =
WMDuplicateArray(scr->selected_windows);
} else {
- scr->shortcutWindows[index] = WMCreateArray(4);
- WMAddToArray(scr->shortcutWindows[index], wwin);
+ w_global.shortcutWindows[index] = WMCreateArray(4);
+ WMAddToArray(w_global.shortcutWindows[index], wwin);
}
wSelectWindow(wwin, !wwin->flags.selected);
@@ -253,7 +251,7 @@ static void updateWorkspaceMenu(WMenu * menu)
wMenuRealize(menu);
}
-static void updateMakeShortcutMenu(WMenu * menu, WWindow * wwin)
+static void updateMakeShortcutMenu(WMenu *menu, WWindow *wwin)
{
WMenu *smenu = menu->cascades[menu->entries[MC_SHORTCUT]->cascade];
int i;
@@ -271,7 +269,7 @@ static void updateMakeShortcutMenu(WMenu * menu, WWindow *
wwin)
char *tmp;
int shortcutNo = i - WO_ENTRIES;
WMenuEntry *entry = smenu->entries[i];
- WMArray *shortSelWindows =
wwin->screen_ptr->shortcutWindows[shortcutNo];
+ WMArray *shortSelWindows = w_global.shortcutWindows[shortcutNo];
snprintf(buffer, buflen, "%s %i", _("Set Shortcut"), shortcutNo
+ 1);
http://repo.or.cz/w/wmaker-crm.git/commit/67a49c4dedf7e7beba1b2a308b1a8c057befe320
commit 67a49c4dedf7e7beba1b2a308b1a8c057befe320
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Mon Oct 7 00:12:07 2013 +0200
Removed WScreen argument
The argument WScreen is removed in the functions
wSessionClearState() and getWindowState()
Signed-off-by: Rodolfo GarcÃa Peñas (kix) <[email protected]>
diff --git a/src/rootmenu.c b/src/rootmenu.c
index e5bb7fb..4a2fb23 100644
--- a/src/rootmenu.c
+++ b/src/rootmenu.c
@@ -285,9 +285,9 @@ static void saveSessionCommand(WMenu * menu, WMenuEntry *
entry)
wScreenSaveState(menu->frame->screen_ptr);
}
-static void clearSessionCommand(WMenu * menu, WMenuEntry * entry)
+static void clearSessionCommand(WMenu *menu, WMenuEntry *entry)
{
- wSessionClearState(menu->frame->screen_ptr);
+ wSessionClearState();
wScreenSaveState(menu->frame->screen_ptr);
}
diff --git a/src/session.c b/src/session.c
index c5516da..c2c67bb 100644
--- a/src/session.c
+++ b/src/session.c
@@ -326,7 +326,7 @@ void wSessionSaveState(WScreen * scr)
WMFreeArray(wapp_list);
}
-void wSessionClearState(WScreen * scr)
+void wSessionClearState(void)
{
make_keys();
@@ -371,7 +371,7 @@ static pid_t execCommand(WScreen *scr, char *command)
return pid;
}
-static WSavedState *getWindowState(WScreen * scr, WMPropList * win_state)
+static WSavedState *getWindowState(WMPropList *win_state)
{
WSavedState *state = wmalloc(sizeof(WSavedState));
WMPropList *value;
@@ -463,7 +463,7 @@ void wSessionRestoreState(WScreen *scr)
if (!instance && !class)
continue;
- state = getWindowState(scr, win_info);
+ state = getWindowState(win_info);
dock = NULL;
value = WMGetFromPLDictionary(win_info, sDock);
diff --git a/src/session.h b/src/session.h
index 4a7b9b4..414aec0 100644
--- a/src/session.h
+++ b/src/session.h
@@ -23,7 +23,7 @@
#define WMSESSION_H_
void wSessionSaveState(WScreen *scr);
-void wSessionClearState(WScreen *scr);
+void wSessionClearState(void);
void wSessionRestoreState(WScreen *scr);
void wSessionRestoreLastWorkspace(WScreen *scr);
#endif
http://repo.or.cz/w/wmaker-crm.git/commit/530e68918ce3bec14cef08cba9868e08780906ea
commit 530e68918ce3bec14cef08cba9868e08780906ea
Author: Rodolfo GarcÃa Peñas (kix) <[email protected]>
Date: Mon Oct 7 00:12:06 2013 +0200
Varible session_state moved to w_global
The variable session_state, defined in screen.h (WScreen), is moved to
the global variable w_global.
Signed-off-by: Rodolfo GarcÃa Peñas (kix) <[email protected]>
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index 36d52f5..2e5742f 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -529,6 +529,9 @@ extern struct wmaker_global_variables {
XContext stack;
} context;
+ /* Session related */
+ WMPropList *session_state;
+
} w_global;
extern unsigned int ValidModMask;
diff --git a/src/dock.c b/src/dock.c
index f4a4bd3..634f7d9 100644
--- a/src/dock.c
+++ b/src/dock.c
@@ -1579,8 +1579,7 @@ void wDockSaveState(WScreen *scr, WMPropList *old_state)
WMReleasePropList(keys);
}
- WMPutInPLDictionary(scr->session_state, dDock, dock_state);
-
+ WMPutInPLDictionary(w_global.session_state, dDock, dock_state);
WMReleasePropList(dock_state);
}
@@ -1590,8 +1589,7 @@ void wClipSaveState(WScreen *scr)
clip_state = make_icon_state(wks_info.clip_icon);
- WMPutInPLDictionary(scr->session_state, dClip, clip_state);
-
+ WMPutInPLDictionary(w_global.session_state, dClip, clip_state);
WMReleasePropList(clip_state);
}
@@ -4900,7 +4898,7 @@ void wDrawersSaveState(WScreen *scr)
WMAddToPLArray(all_drawers, drawer_state);
WMReleasePropList(drawer_state);
}
- WMPutInPLDictionary(scr->session_state, dDrawers, all_drawers);
+ WMPutInPLDictionary(w_global.session_state, dDrawers, all_drawers);
WMReleasePropList(all_drawers);
}
@@ -4912,10 +4910,10 @@ void wDrawersRestoreState(WScreen *scr)
make_keys();
- if (scr->session_state == NULL)
+ if (w_global.session_state == NULL)
return;
- all_drawers = WMGetFromPLDictionary(scr->session_state, dDrawers);
+ all_drawers = WMGetFromPLDictionary(w_global.session_state, dDrawers);
if (!all_drawers)
return;
diff --git a/src/menu.c b/src/menu.c
index efdc7f0..c5ff5c6 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -2275,7 +2275,7 @@ void wMenuSaveState(WScreen * scr)
if (save_menus) {
key = WMCreatePLString("Menus");
- WMPutInPLDictionary(scr->session_state, key, menus);
+ WMPutInPLDictionary(w_global.session_state, key, menus);
WMReleasePropList(key);
}
WMReleasePropList(menus);
@@ -2478,12 +2478,11 @@ void wMenuRestoreState(WScreen * scr)
{
WMPropList *menus, *menu, *key, *skey;
- if (!scr->session_state) {
+ if (!w_global.session_state)
return;
- }
key = WMCreatePLString("Menus");
- menus = WMGetFromPLDictionary(scr->session_state, key);
+ menus = WMGetFromPLDictionary(w_global.session_state, key);
WMReleasePropList(key);
if (!menus)
diff --git a/src/screen.c b/src/screen.c
index e70776b..98a372f 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -812,24 +812,25 @@ void wScreenRestoreState(WScreen * scr)
snprintf(buf, sizeof(buf), "WMState.%i", scr->screen);
path = wdefaultspathfordomain(buf);
}
- scr->session_state = WMReadPropListFromFile(path);
+
+ w_global.session_state = WMReadPropListFromFile(path);
wfree(path);
- if (!scr->session_state && wScreenCount > 1) {
+ if (!w_global.session_state && wScreenCount > 1) {
path = wdefaultspathfordomain("WMState");
- scr->session_state = WMReadPropListFromFile(path);
+ w_global.session_state = WMReadPropListFromFile(path);
wfree(path);
}
- if (!scr->session_state)
- scr->session_state = WMCreatePLDictionary(NULL, NULL);
+ if (!w_global.session_state)
+ w_global.session_state = WMCreatePLDictionary(NULL, NULL);
if (!wPreferences.flags.nodock) {
- state = WMGetFromPLDictionary(scr->session_state, dDock);
+ state = WMGetFromPLDictionary(w_global.session_state, dDock);
scr->dock = wDockRestoreState(scr, state, WM_DOCK);
}
if (!wPreferences.flags.noclip) {
- state = WMGetFromPLDictionary(scr->session_state, dClip);
+ state = WMGetFromPLDictionary(w_global.session_state, dClip);
wks_info.clip_icon = wClipRestoreState(scr, state);
}
@@ -858,8 +859,8 @@ void wScreenSaveState(WScreen * scr)
if (wPreferences.flags.noupdates)
return;
- old_state = scr->session_state;
- scr->session_state = WMCreatePLDictionary(NULL, NULL);
+ old_state = w_global.session_state;
+ w_global.session_state = WMCreatePLDictionary(NULL, NULL);
WMPLSetCaseSensitive(True);
@@ -868,14 +869,14 @@ void wScreenSaveState(WScreen * scr)
wDockSaveState(scr, old_state);
} else {
if ((foo = WMGetFromPLDictionary(old_state, dDock)) != NULL) {
- WMPutInPLDictionary(scr->session_state, dDock, foo);
+ WMPutInPLDictionary(w_global.session_state, dDock, foo);
}
}
if (!wPreferences.flags.noclip) {
wClipSaveState(scr);
} else {
if ((foo = WMGetFromPLDictionary(old_state, dClip)) != NULL) {
- WMPutInPLDictionary(scr->session_state, dClip, foo);
+ WMPutInPLDictionary(w_global.session_state, dClip, foo);
}
}
@@ -885,7 +886,7 @@ void wScreenSaveState(WScreen * scr)
wDrawersSaveState(scr);
} else {
if ((foo = WMGetFromPLDictionary(old_state, dDrawers)) != NULL)
{
- WMPutInPLDictionary(scr->session_state, dDrawers, foo);
+ WMPutInPLDictionary(w_global.session_state, dDrawers,
foo);
}
}
@@ -894,10 +895,10 @@ void wScreenSaveState(WScreen * scr)
wSessionSaveState(scr);
} else {
if ((foo = WMGetFromPLDictionary(old_state, dApplications)) !=
NULL) {
- WMPutInPLDictionary(scr->session_state, dApplications,
foo);
+ WMPutInPLDictionary(w_global.session_state,
dApplications, foo);
}
if ((foo = WMGetFromPLDictionary(old_state, dWorkspace)) !=
NULL) {
- WMPutInPLDictionary(scr->session_state, dWorkspace,
foo);
+ WMPutInPLDictionary(w_global.session_state, dWorkspace,
foo);
}
}
@@ -913,7 +914,7 @@ void wScreenSaveState(WScreen * scr)
snprintf(buf, sizeof(buf), "WMState.%i", scr->screen);
str = wdefaultspathfordomain(buf);
}
- if (!WMWritePropListToFile(scr->session_state, str)) {
+ if (!WMWritePropListToFile(w_global.session_state, str)) {
werror(_("could not save session state in %s"), str);
}
wfree(str);
diff --git a/src/screen.h b/src/screen.h
index 4387ead..5675915 100644
--- a/src/screen.h
+++ b/src/screen.h
@@ -240,8 +240,6 @@ typedef struct _WScreen {
/* state and other informations */
short cascade_index; /* for cascade window placement */
- WMPropList *session_state;
-
/* for double-click detection */
Time last_click_time;
Window last_click_window;
diff --git a/src/session.c b/src/session.c
index 8d89632..c5516da 100644
--- a/src/session.c
+++ b/src/session.c
@@ -282,9 +282,9 @@ void wSessionSaveState(WScreen * scr)
make_keys();
- if (!scr->session_state) {
- scr->session_state = WMCreatePLDictionary(NULL, NULL);
- if (!scr->session_state)
+ if (!w_global.session_state) {
+ w_global.session_state = WMCreatePLDictionary(NULL, NULL);
+ if (!w_global.session_state)
return;
}
@@ -314,12 +314,13 @@ void wSessionSaveState(WScreen * scr)
}
wwin = wwin->prev;
}
- WMRemoveFromPLDictionary(scr->session_state, sApplications);
- WMPutInPLDictionary(scr->session_state, sApplications, list);
+
+ WMRemoveFromPLDictionary(w_global.session_state, sApplications);
+ WMPutInPLDictionary(w_global.session_state, sApplications, list);
WMReleasePropList(list);
wks =
WMCreatePLString(wks_info.workspaces[wks_info.current_workspace]->name);
- WMPutInPLDictionary(scr->session_state, sWorkspace, wks);
+ WMPutInPLDictionary(w_global.session_state, sWorkspace, wks);
WMReleasePropList(wks);
WMFreeArray(wapp_list);
@@ -329,11 +330,11 @@ void wSessionClearState(WScreen * scr)
{
make_keys();
- if (!scr->session_state)
+ if (!w_global.session_state)
return;
- WMRemoveFromPLDictionary(scr->session_state, sApplications);
- WMRemoveFromPLDictionary(scr->session_state, sWorkspace);
+ WMRemoveFromPLDictionary(w_global.session_state, sApplications);
+ WMRemoveFromPLDictionary(w_global.session_state, sWorkspace);
}
static pid_t execCommand(WScreen *scr, char *command)
@@ -433,12 +434,12 @@ void wSessionRestoreState(WScreen *scr)
make_keys();
- if (!scr->session_state)
+ if (!w_global.session_state)
return;
WMPLSetCaseSensitive(True);
- apps = WMGetFromPLDictionary(scr->session_state, sApplications);
+ apps = WMGetFromPLDictionary(w_global.session_state, sApplications);
if (!apps)
return;
@@ -538,12 +539,12 @@ void wSessionRestoreLastWorkspace(WScreen * scr)
make_keys();
- if (!scr->session_state)
+ if (!w_global.session_state)
return;
WMPLSetCaseSensitive(True);
- wks = WMGetFromPLDictionary(scr->session_state, sWorkspace);
+ wks = WMGetFromPLDictionary(w_global.session_state, sWorkspace);
if (!wks || !WMIsPLString(wks))
return;
diff --git a/src/workspace.c b/src/workspace.c
index 1ec9bad..02bf0d9 100644
--- a/src/workspace.c
+++ b/src/workspace.c
@@ -828,7 +828,7 @@ void wWorkspaceSaveState(WScreen * scr, WMPropList *
old_state)
WMAddToPLArray(parr, wks_state);
WMReleasePropList(wks_state);
}
- WMPutInPLDictionary(scr->session_state, dWorkspaces, parr);
+ WMPutInPLDictionary(w_global.session_state, dWorkspaces, parr);
WMReleasePropList(parr);
}
@@ -839,10 +839,10 @@ void wWorkspaceRestoreState(WScreen *scr)
make_keys();
- if (scr->session_state == NULL)
+ if (w_global.session_state == NULL)
return;
- parr = WMGetFromPLDictionary(scr->session_state, dWorkspaces);
+ parr = WMGetFromPLDictionary(w_global.session_state, dWorkspaces);
if (!parr)
return;
-----------------------------------------------------------------------
Summary of changes:
src/WindowMaker.h | 9 +++++++++
src/actions.c | 3 +--
src/appicon.c | 13 ++++++-------
src/defaults.c | 3 +--
src/dock.c | 15 ++++++---------
src/event.c | 27 ++++++++++++---------------
src/main.c | 3 ---
src/menu.c | 7 +++----
src/rootmenu.c | 4 ++--
src/screen.c | 31 ++++++++++++++++---------------
src/screen.h | 6 ------
src/session.c | 37 +++++++++++++++++++------------------
src/session.h | 2 +-
src/window.c | 23 ++++++++++++-----------
src/winmenu.c | 20 +++++++++-----------
src/workspace.c | 6 +++---
16 files changed, 100 insertions(+), 109 deletions(-)
repo.or.cz automatic notification. Contact project admin [email protected]
if you want to unsubscribe, or site admin [email protected] if you receive
no reply.
--
wmaker-crm.git ("The Window Maker window manager")
--
To unsubscribe, send mail to [email protected].