main.c
changeset 971 b2a0dfa22b1d
parent 969 50fb50842dbc
child 987 ea0cef59c3a3
equal deleted inserted replaced
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.