From: Christophe CURIS <[email protected]>
---
src/WindowMaker.h | 8 ++++++++
src/client.c | 5 +----
src/event.c | 9 +++------
src/main.c | 5 -----
src/properties.c | 8 +++-----
src/startup.c | 9 +++------
src/window.c | 4 ++--
src/winmenu.c | 5 ++---
8 files changed, 22 insertions(+), 31 deletions(-)
diff --git a/src/WindowMaker.h b/src/WindowMaker.h
index 81c764f..94b8402 100644
--- a/src/WindowMaker.h
+++ b/src/WindowMaker.h
@@ -499,6 +499,14 @@ extern struct wmaker_global_variables {
Atom ignore_focus_events;
} wm;
+ /* GNUStep related */
+ struct {
+ Atom wm_attr;
+ Atom wm_miniaturize_window;
+ Atom wm_resizebar;
+ Atom titlebar_state;
+ } gnustep;
+
} atom;
} w_global;
diff --git a/src/client.c b/src/client.c
index 881c84c..be0fa61 100644
--- a/src/client.c
+++ b/src/client.c
@@ -51,9 +51,6 @@ extern XContext wWinContext;
extern Atom _XA_WINDOWMAKER_MENU;
-extern Atom _XA_GNUSTEP_WM_ATTR;
-extern Atom _XA_GNUSTEP_WM_RESIZEBAR;
-
#ifdef SHAPE
extern Bool wShapeSupported;
#endif
@@ -618,7 +615,7 @@ void wClientCheckProperty(WWindow * wwin, XPropertyEvent *
event)
wSetFocusTo(wwin->screen_ptr, NULL);
wSetFocusTo(wwin->screen_ptr,
wwin->screen_ptr->focused_window);
}
- } else if (event->atom == _XA_GNUSTEP_WM_ATTR) {
+ } else if (event->atom == w_global.atom.gnustep.wm_attr) {
GNUstepWMAttributes *attr;
PropGetGNUstepWMAttr(wwin->client_win, &attr);
diff --git a/src/event.c b/src/event.c
index 40ded2a..b38d630 100644
--- a/src/event.c
+++ b/src/event.c
@@ -85,9 +85,6 @@ extern int wScreenCount;
#define MOD_MASK wPreferences.modifier_mask
-extern Atom _XA_GNUSTEP_WM_ATTR;
-extern Atom _XA_GNUSTEP_WM_MINIATURIZE_WINDOW;
-extern Atom _XA_GNUSTEP_TITLEBAR_STATE;
extern Atom _XA_WINDOWMAKER_WM_FUNCTION;
extern Atom _XA_WINDOWMAKER_COMMAND;
@@ -993,7 +990,7 @@ static void handleClientMessage(XEvent * event)
}
}
}
- } else if (event->xclient.message_type == _XA_GNUSTEP_WM_ATTR) {
+ } else if (event->xclient.message_type ==
w_global.atom.gnustep.wm_attr) {
wwin = wWindowFor(event->xclient.window);
if (!wwin)
return;
@@ -1008,7 +1005,7 @@ static void handleClientMessage(XEvent * event)
}
break;
}
- } else if (event->xclient.message_type == _XA_GNUSTEP_TITLEBAR_STATE) {
+ } else if (event->xclient.message_type ==
w_global.atom.gnustep.titlebar_state) {
wwin = wWindowFor(event->xclient.window);
if (!wwin)
return;
@@ -1401,7 +1398,7 @@ static void handleKeyPress(XEvent * event)
CloseWindowMenu(scr);
if (wwin->protocols.MINIATURIZE_WINDOW)
- wClientSendProtocol(wwin,
_XA_GNUSTEP_WM_MINIATURIZE_WINDOW, event->xbutton.time);
+ wClientSendProtocol(wwin,
w_global.atom.gnustep.wm_miniaturize_window, event->xbutton.time);
else {
wIconifyWindow(wwin);
}
diff --git a/src/main.c b/src/main.c
index 341f24a..7575baa 100644
--- a/src/main.c
+++ b/src/main.c
@@ -97,11 +97,6 @@ XContext wStackContext;
XContext wVEdgeContext;
/* Atoms */
-Atom _XA_GNUSTEP_WM_ATTR;
-Atom _XA_GNUSTEP_WM_MINIATURIZE_WINDOW;
-Atom _XA_GNUSTEP_WM_RESIZEBAR;
-Atom _XA_GNUSTEP_TITLEBAR_STATE;
-
Atom _XA_WINDOWMAKER_MENU;
Atom _XA_WINDOWMAKER_WM_PROTOCOLS;
Atom _XA_WINDOWMAKER_STATE;
diff --git a/src/properties.c b/src/properties.c
index caadff5..ba8b162 100644
--- a/src/properties.c
+++ b/src/properties.c
@@ -32,8 +32,6 @@
#include "properties.h"
/* atoms */
-extern Atom _XA_GNUSTEP_WM_ATTR;
-extern Atom _XA_GNUSTEP_WM_MINIATURIZE_WINDOW;
extern Atom _XA_WINDOWMAKER_WM_FUNCTION;
extern Atom _XA_WINDOWMAKER_MENU;
extern Atom _XA_WINDOWMAKER_WM_PROTOCOLS;
@@ -93,7 +91,7 @@ void PropGetProtocols(Window window, WProtocols * prots)
prots->DELETE_WINDOW = 1;
else if (protocols[i] == w_global.atom.wm.save_yourself)
prots->SAVE_YOURSELF = 1;
- else if (protocols[i] == _XA_GNUSTEP_WM_MINIATURIZE_WINDOW)
+ else if (protocols[i] ==
w_global.atom.gnustep.wm_miniaturize_window)
prots->MINIATURIZE_WINDOW = 1;
}
XFree(protocols);
@@ -135,8 +133,8 @@ int PropGetGNUstepWMAttr(Window window, GNUstepWMAttributes
** attr)
{
unsigned long *data;
- data = (unsigned long *)PropGetCheckProperty(window,
_XA_GNUSTEP_WM_ATTR,
- _XA_GNUSTEP_WM_ATTR, 32,
9, NULL);
+ data = (unsigned long *)PropGetCheckProperty(window,
w_global.atom.gnustep.wm_attr,
+
w_global.atom.gnustep.wm_attr, 32, 9, NULL);
if (!data)
return False;
diff --git a/src/startup.c b/src/startup.c
index 31fc71b..68bc526 100644
--- a/src/startup.c
+++ b/src/startup.c
@@ -108,7 +108,6 @@ extern XContext wStackContext;
extern XContext wVEdgeContext;
/* atoms */
-extern Atom _XA_GNUSTEP_WM_ATTR;
extern Atom _XA_WINDOWMAKER_MENU;
extern Atom _XA_WINDOWMAKER_WM_PROTOCOLS;
extern Atom _XA_WINDOWMAKER_STATE;
@@ -117,8 +116,6 @@ extern Atom _XA_WINDOWMAKER_NOTICEBOARD;
extern Atom _XA_WINDOWMAKER_COMMAND;
extern Atom _XA_WINDOWMAKER_ICON_SIZE;
extern Atom _XA_WINDOWMAKER_ICON_TILE;
-extern Atom _XA_GNUSTEP_WM_MINIATURIZE_WINDOW;
-extern Atom _XA_GNUSTEP_TITLEBAR_STATE;
#ifndef HAVE_INOTIFY
/* special flags */
@@ -522,9 +519,9 @@ void StartUp(Bool defaultScreenOnly)
_XA_WINDOWMAKER_ICON_SIZE = atom[15];
_XA_WINDOWMAKER_ICON_TILE = atom[16];
- _XA_GNUSTEP_WM_ATTR = atom[17];
- _XA_GNUSTEP_WM_MINIATURIZE_WINDOW = atom[18];
- _XA_GNUSTEP_TITLEBAR_STATE = atom[19];
+ w_global.atom.gnustep.wm_attr = atom[17];
+ w_global.atom.gnustep.wm_miniaturize_window = atom[18];
+ w_global.atom.gnustep.titlebar_state = atom[19];
w_global.atom.wm.ignore_focus_events = atom[20];
diff --git a/src/window.c b/src/window.c
index 6e5e87b..62786d3 100644
--- a/src/window.c
+++ b/src/window.c
@@ -83,7 +83,6 @@ extern Bool wShapeSupported;
extern XContext wWinContext;
/* protocol atoms */
-extern Atom _XA_GNUSTEP_WM_MINIATURIZE_WINDOW;
extern Atom _XA_WINDOWMAKER_STATE;
/***** Local Stuff *****/
@@ -2974,7 +2973,8 @@ static void windowIconifyClick(WCoreWindow *sender, void
*data, XEvent *event)
return;
if (wwin->protocols.MINIATURIZE_WINDOW && event->xbutton.state == 0) {
- wClientSendProtocol(wwin, _XA_GNUSTEP_WM_MINIATURIZE_WINDOW,
w_global.timestamp.last_event);
+ wClientSendProtocol(wwin,
w_global.atom.gnustep.wm_miniaturize_window,
+
w_global.timestamp.last_event);
} else {
WApplication *wapp;
if ((event->xbutton.state & ControlMask) ||
(event->xbutton.button == Button3)) {
diff --git a/src/winmenu.c b/src/winmenu.c
index 1470bc4..d853f30 100644
--- a/src/winmenu.c
+++ b/src/winmenu.c
@@ -69,8 +69,6 @@
#define WO_ENTRIES 3
/**** Global data ***/
-extern Atom _XA_GNUSTEP_WM_MINIATURIZE_WINDOW;
-
extern WShortKey wKeyBindings[WKBD_LAST];
@@ -133,7 +131,8 @@ static void execMenuCommand(WMenu * menu, WMenuEntry *
entry)
wDeiconifyWindow(wwin);
} else {
if (wwin->protocols.MINIATURIZE_WINDOW) {
- wClientSendProtocol(wwin,
_XA_GNUSTEP_WM_MINIATURIZE_WINDOW, w_global.timestamp.last_event);
+ wClientSendProtocol(wwin,
w_global.atom.gnustep.wm_miniaturize_window,
+
w_global.timestamp.last_event);
} else {
wIconifyWindow(wwin);
}
--
1.8.4.rc3
--
To unsubscribe, send mail to [email protected].