diff options
author | okan | 2013-11-08 17:35:12 +0000 |
---|---|---|
committer | okan | 2013-11-08 17:35:12 +0000 |
commit | 1650bfdc36cf23d6b48c970ccf7cbdf120419009 (patch) | |
tree | 8af8c6a82014af815435e6ac8ef9e2b12a7125d3 | |
parent | 5379033e1a0de6fed6027db68fae394eece9cf44 (diff) | |
download | cwm-1650bfdc36cf23d6b48c970ccf7cbdf120419009.tar.gz |
stash WMProtocols in flags
-rw-r--r-- | calmwm.h | 10 | ||||
-rw-r--r-- | client.c | 12 |
2 files changed, 9 insertions, 13 deletions
@@ -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. * - * $OpenBSD: calmwm.h,v 1.226 2013/11/02 19:13:56 okan Exp $ + * $OpenBSD: calmwm.h,v 1.227 2013/11/08 17:35:12 okan Exp $ */ #ifndef _CALMWM_H_ @@ -126,11 +126,6 @@ struct winname { }; TAILQ_HEAD(winname_q, winname); -enum wm_protocols { - _WM_DELETE_WINDOW = 0x0001, - _WM_TAKE_FOCUS = 0x0002, -}; - struct client_ctx { TAILQ_ENTRY(client_ctx) entry; TAILQ_ENTRY(client_ctx) group_entry; @@ -157,7 +152,6 @@ struct client_ctx { int x; /* x position */ int y; /* y position */ } ptr; - enum wm_protocols xproto; #define CLIENT_HIDDEN 0x0001 #define CLIENT_IGNORE 0x0002 #define CLIENT_VMAXIMIZED 0x0004 @@ -166,6 +160,8 @@ struct client_ctx { #define CLIENT_GROUP 0x0020 #define CLIENT_UNGROUP 0x0040 #define CLIENT_INPUT 0x0080 +#define CLIENT_WM_DELETE_WINDOW 0x0100 +#define CLIENT_WM_TAKE_FOCUS 0x0200 #define CLIENT_HIGHLIGHT (CLIENT_GROUP | CLIENT_UNGROUP) #define CLIENT_MAXFLAGS (CLIENT_VMAXIMIZED | CLIENT_HMAXIMIZED) @@ -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. * - * $OpenBSD: client.c,v 1.146 2013/11/05 00:55:42 okan Exp $ + * $OpenBSD: client.c,v 1.147 2013/11/08 17:35:12 okan Exp $ */ #include <sys/param.h> @@ -212,11 +212,11 @@ client_setactive(struct client_ctx *cc, int fg) if (fg) { XInstallColormap(X_Dpy, cc->colormap); if ((cc->flags & CLIENT_INPUT) || - ((cc->xproto & _WM_TAKE_FOCUS) == 0)) { + ((cc->flags & CLIENT_WM_TAKE_FOCUS) == 0)) { XSetInputFocus(X_Dpy, cc->win, RevertToPointerRoot, CurrentTime); } - if (cc->xproto & _WM_TAKE_FOCUS) + if (cc->flags & CLIENT_WM_TAKE_FOCUS) client_msg(cc, cwmh[WM_TAKE_FOCUS]); conf_grab_mouse(cc->win); /* @@ -532,9 +532,9 @@ client_wm_protocols(struct client_ctx *cc) if (XGetWMProtocols(X_Dpy, cc->win, &p, &j)) { for (i = 0; i < j; i++) { if (p[i] == cwmh[WM_DELETE_WINDOW]) - cc->xproto |= _WM_DELETE_WINDOW; + cc->flags |= CLIENT_WM_DELETE_WINDOW; else if (p[i] == cwmh[WM_TAKE_FOCUS]) - cc->xproto |= _WM_TAKE_FOCUS; + cc->flags |= CLIENT_WM_TAKE_FOCUS; } XFree(p); } @@ -559,7 +559,7 @@ client_msg(struct client_ctx *cc, Atom proto) void client_send_delete(struct client_ctx *cc) { - if (cc->xproto & _WM_DELETE_WINDOW) + if (cc->flags & CLIENT_WM_DELETE_WINDOW) client_msg(cc, cwmh[WM_DELETE_WINDOW]); else XKillClient(X_Dpy, cc->win); |