changeset 971 | b2a0dfa22b1d |
parent 969 | 50fb50842dbc |
child 987 | ea0cef59c3a3 |
970:d5c3537ee3be | 971:b2a0dfa22b1d |
---|---|
18 char stext[256]; |
18 char stext[256]; |
19 int screen, sx, sy, sw, sh, wax, way, waw, wah; |
19 int screen, sx, sy, sw, sh, wax, way, waw, wah; |
20 unsigned int bh, ntags; |
20 unsigned int bh, ntags; |
21 unsigned int bpos = BARPOS; |
21 unsigned int bpos = BARPOS; |
22 unsigned int numlockmask = 0; |
22 unsigned int numlockmask = 0; |
23 Atom dwmprops, wmatom[WMLast], netatom[NetLast]; |
23 Atom wmatom[WMLast], netatom[NetLast]; |
24 Bool *seltags; |
24 Bool *seltags; |
25 Bool selscreen = True; |
25 Bool selscreen = True; |
26 Client *clients = NULL; |
26 Client *clients = NULL; |
27 Client *sel = NULL; |
27 Client *sel = NULL; |
28 Client *stack = NULL; |
28 Client *stack = NULL; |
40 static void |
40 static void |
41 cleanup(void) { |
41 cleanup(void) { |
42 close(STDIN_FILENO); |
42 close(STDIN_FILENO); |
43 while(stack) { |
43 while(stack) { |
44 unban(stack); |
44 unban(stack); |
45 unmanage(stack, NormalState); |
45 unmanage(stack); |
46 } |
46 } |
47 if(dc.font.set) |
47 if(dc.font.set) |
48 XFreeFontSet(dpy, dc.font.set); |
48 XFreeFontSet(dpy, dc.font.set); |
49 else |
49 else |
50 XFreeFont(dpy, dc.font.xfont); |
50 XFreeFont(dpy, dc.font.xfont); |
163 Window w; |
163 Window w; |
164 XModifierKeymap *modmap; |
164 XModifierKeymap *modmap; |
165 XSetWindowAttributes wa; |
165 XSetWindowAttributes wa; |
166 |
166 |
167 /* init atoms */ |
167 /* init atoms */ |
168 dwmprops = XInternAtom(dpy, "_DWM_PROPERTIES", False); |
|
169 wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); |
168 wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); |
170 wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); |
169 wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); |
171 wmatom[WMName] = XInternAtom(dpy, "WM_NAME", False); |
170 wmatom[WMName] = XInternAtom(dpy, "WM_NAME", False); |
172 wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); |
171 wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); |
173 netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); |
172 netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); |
229 XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); |
228 XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); |
230 if(!dc.font.set) |
229 if(!dc.font.set) |
231 XSetFont(dpy, dc.gc, dc.font.xfont->fid); |
230 XSetFont(dpy, dc.gc, dc.font.xfont->fid); |
232 /* multihead support */ |
231 /* multihead support */ |
233 selscreen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask); |
232 selscreen = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask); |
234 getdwmprops(); |
|
235 } |
233 } |
236 |
234 |
237 /* |
235 /* |
238 * Startup Error handler to check if another window manager |
236 * Startup Error handler to check if another window manager |
239 * is already running. |
237 * is already running. |