aboutsummaryrefslogtreecommitdiffstats
path: root/xutil.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--xutil.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/xutil.c b/xutil.c
index a7ec1e9..e19b73b 100644
--- a/xutil.c
+++ b/xutil.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: xutil.c,v 1.9 2008/07/22 20:26:12 oga Exp $
+ * $Id: xutil.c,v 1.10 2009/01/22 15:26:33 oga Exp $
*/
#include "headers.h"
@@ -145,12 +145,9 @@ xu_getprop(struct client_ctx *cc, Atom atm, Atom type, long len, u_char **p)
int
xu_getstate(struct client_ctx *cc, int *state)
{
- Atom wm_state;
long *p = NULL;
- wm_state = XInternAtom(X_Dpy, "WM_STATE", False);
-
- if (xu_getprop(cc, wm_state, wm_state, 2L, (u_char **)&p) <= 0)
+ if (xu_getprop(cc, WM_STATE, WM_STATE, 2L, (u_char **)&p) <= 0)
return (-1);
*state = (int)*p;
@@ -162,16 +159,23 @@ xu_getstate(struct client_ctx *cc, int *state)
void
xu_setstate(struct client_ctx *cc, int state)
{
- Atom wm_state;
long dat[2];
- /* XXX cache */
- wm_state = XInternAtom(X_Dpy, "WM_STATE", False);
-
dat[0] = (long)state;
dat[1] = (long)None;
cc->state = state;
- XChangeProperty(X_Dpy, cc->win, wm_state, wm_state, 32,
+ XChangeProperty(X_Dpy, cc->win, WM_STATE, WM_STATE, 32,
PropModeReplace, (unsigned char *)dat, 2);
}
+
+Atom cwm_atoms[CWM_NO_ATOMS];
+
+void
+xu_getatoms(void)
+{
+ WM_STATE = XInternAtom(X_Dpy, "WM_STATE", False);
+ WM_DELETE_WINDOW = XInternAtom(X_Dpy, "WM_DELETE_WINDOW", False);
+ WM_TAKE_FOCUS = XInternAtom(X_Dpy, "WM_TAKE_FOCUS", False);
+ WM_PROTOCOLS = XInternAtom(X_Dpy, "WM_PROTOCOLS", False);
+}