Mercurial > dwm-meillo
comparison client.c @ 19:b5510d0c6d43
added basic mouse support (actually we don't need more)
author | Anselm R. Garbe <garbeam@wmii.de> |
---|---|
date | Tue, 11 Jul 2006 21:41:49 +0200 |
parents | 1efa34c6e1b6 |
children | 4560e0882c1d |
comparison
equal
deleted
inserted
replaced
18:1efa34c6e1b6 | 19:b5510d0c6d43 |
---|---|
68 c->win = w; | 68 c->win = w; |
69 c->r[RFloat].x = wa->x; | 69 c->r[RFloat].x = wa->x; |
70 c->r[RFloat].y = wa->y; | 70 c->r[RFloat].y = wa->y; |
71 c->r[RFloat].width = wa->width; | 71 c->r[RFloat].width = wa->width; |
72 c->r[RFloat].height = wa->height; | 72 c->r[RFloat].height = wa->height; |
73 c->border = wa->border_width; | 73 XSetWindowBorderWidth(dpy, c->win, 1); |
74 XSetWindowBorderWidth(dpy, c->win, 0); | |
75 XSelectInput(dpy, c->win, CLIENT_MASK); | 74 XSelectInput(dpy, c->win, CLIENT_MASK); |
76 XGetTransientForHint(dpy, c->win, &c->trans); | 75 XGetTransientForHint(dpy, c->win, &c->trans); |
77 if(!XGetWMNormalHints(dpy, c->win, &c->size, &msize) || !c->size.flags) | 76 if(!XGetWMNormalHints(dpy, c->win, &c->size, &msize) || !c->size.flags) |
78 c->size.flags = PSize; | 77 c->size.flags = PSize; |
79 c->fixedsize = | 78 c->fixedsize = |
95 c->next = *l; /* *l == nil */ | 94 c->next = *l; /* *l == nil */ |
96 *l = c; | 95 *l = c; |
97 c->snext = stack; | 96 c->snext = stack; |
98 stack = c; | 97 stack = c; |
99 XMapWindow(dpy, c->win); | 98 XMapWindow(dpy, c->win); |
100 XGrabButton(dpy, AnyButton, Mod1Mask, c->win, False, ButtonPressMask, | 99 XGrabButton(dpy, Button1, Mod1Mask, c->win, False, ButtonPressMask, |
100 GrabModeAsync, GrabModeSync, None, None); | |
101 XGrabButton(dpy, Button2, Mod1Mask, c->win, False, ButtonPressMask, | |
102 GrabModeAsync, GrabModeSync, None, None); | |
103 XGrabButton(dpy, Button3, Mod1Mask, c->win, False, ButtonPressMask, | |
101 GrabModeAsync, GrabModeSync, None, None); | 104 GrabModeAsync, GrabModeSync, None, None); |
102 focus(c); | 105 focus(c); |
103 } | 106 } |
104 | 107 |
105 void | 108 void |
114 e.window = c->win; | 117 e.window = c->win; |
115 e.x = c->r[RFloat].x; | 118 e.x = c->r[RFloat].x; |
116 e.y = c->r[RFloat].y; | 119 e.y = c->r[RFloat].y; |
117 e.width = c->r[RFloat].width; | 120 e.width = c->r[RFloat].width; |
118 e.height = c->r[RFloat].height; | 121 e.height = c->r[RFloat].height; |
119 e.border_width = c->border; | 122 e.border_width = 0; |
120 e.above = None; | 123 e.above = None; |
121 e.override_redirect = False; | 124 e.override_redirect = False; |
122 XSelectInput(dpy, c->win, CLIENT_MASK & ~StructureNotifyMask); | 125 XSelectInput(dpy, c->win, CLIENT_MASK & ~StructureNotifyMask); |
123 XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&e); | 126 XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&e); |
124 XSelectInput(dpy, c->win, CLIENT_MASK); | 127 XSelectInput(dpy, c->win, CLIENT_MASK); |