diff options
| author | Anselm R. Garbe <garbeam@wmii.de> | 2006-07-15 17:19:19 +0200 | 
|---|---|---|
| committer | Anselm R. Garbe <garbeam@wmii.de> | 2006-07-15 17:19:19 +0200 | 
| commit | c09bf8da071e05e2c1d714f0d31d41fe944bc11b (patch) | |
| tree | 4c9a8ff881b8102f2700b48a47a2121a29b1fadd | |
| parent | adaa28a6e600f636f5e86244ccef69e98419ba1a (diff) | |
sanitized other stuff
| -rw-r--r-- | client.c | 4 | ||||
| -rw-r--r-- | draw.c | 104 | ||||
| -rw-r--r-- | dwm.h | 4 | ||||
| -rw-r--r-- | event.c | 141 | ||||
| -rw-r--r-- | main.c | 25 | 
5 files changed, 136 insertions, 142 deletions
| @@ -178,7 +178,7 @@ killclient(Arg *arg)  	if(!sel)  		return;  	if(sel->proto & WM_PROTOCOL_DELWIN) -		sendevent(sel->win, wm_atom[WMProtocols], wm_atom[WMDelete]); +		sendevent(sel->win, wmatom[WMProtocols], wmatom[WMDelete]);  	else  		XKillClient(dpy, sel->win);  } @@ -353,7 +353,7 @@ settitle(Client *c)  	name.nitems = 0;  	c->name[0] = 0; -	XGetTextProperty(dpy, c->win, &name, net_atom[NetWMName]); +	XGetTextProperty(dpy, c->win, &name, netatom[NetWMName]);  	if(!name.nitems)  		XGetWMName(dpy, c->win, &name);  	if(!name.nitems) @@ -29,51 +29,18 @@ drawborder(void)  	XDrawLines(dpy, dc.drawable, dc.gc, points, 5, CoordModePrevious);  } -/* extern functions */ - -void -drawall() -{ -	Client *c; - -	for(c = clients; c; c = getnext(c->next)) -		drawtitle(c); -	drawstatus(); -} - -void -drawstatus() +static unsigned int +textnw(char *text, unsigned int len)  { -	int i; -	Bool istile = arrange == dotile; - -	dc.x = dc.y = 0; -	dc.w = bw; -	drawtext(NULL, !istile, False); - -	dc.w = 0; -	for(i = 0; i < TLast; i++) { -		dc.x += dc.w; -		dc.w = textw(tags[i]); -		if(istile) -			drawtext(tags[i], (i == tsel), True); -		else -			drawtext(tags[i], (i != tsel), True); -	} -	if(sel) { -		dc.x += dc.w; -		dc.w = textw(sel->name); -		drawtext(sel->name, istile, True); +	XRectangle r; +	if(dc.font.set) { +		XmbTextExtents(dc.font.set, text, len, NULL, &r); +		return r.width;  	} -	dc.w = textw(stext); -	dc.x = bx + bw - dc.w; -	drawtext(stext, !istile, False); - -	XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); -	XFlush(dpy); +	return XTextWidth(dc.font.xfont, text, len);  } -void +static void  drawtext(const char *text, Bool invert, Bool border)  {  	int x, y, w, h; @@ -123,6 +90,50 @@ drawtext(const char *text, Bool invert, Bool border)  	}  } +/* extern functions */ + +void +drawall() +{ +	Client *c; + +	for(c = clients; c; c = getnext(c->next)) +		drawtitle(c); +	drawstatus(); +} + +void +drawstatus() +{ +	int i; +	Bool istile = arrange == dotile; + +	dc.x = dc.y = 0; +	dc.w = bw; +	drawtext(NULL, !istile, False); + +	dc.w = 0; +	for(i = 0; i < TLast; i++) { +		dc.x += dc.w; +		dc.w = textw(tags[i]); +		if(istile) +			drawtext(tags[i], (i == tsel), True); +		else +			drawtext(tags[i], (i != tsel), True); +	} +	if(sel) { +		dc.x += dc.w; +		dc.w = textw(sel->name); +		drawtext(sel->name, istile, True); +	} +	dc.w = textw(stext); +	dc.x = bx + bw - dc.w; +	drawtext(stext, !istile, False); + +	XCopyArea(dpy, dc.drawable, barwin, dc.gc, 0, 0, bw, bh, 0, 0); +	XFlush(dpy); +} +  void  drawtitle(Client *c)  { @@ -219,17 +230,6 @@ setfont(const char *fontstr)  }  unsigned int -textnw(char *text, unsigned int len) -{ -	XRectangle r; -	if(dc.font.set) { -		XmbTextExtents(dc.font.set, text, len, NULL, &r); -		return r.width; -	} -	return XTextWidth(dc.font.xfont, text, len); -} - -unsigned int  textw(char *text)  {  	return textnw(text, strlen(text)) + dc.font.height; @@ -89,7 +89,7 @@ struct Key {  extern Display *dpy;  extern Window root, barwin; -extern Atom wm_atom[WMLast], net_atom[NetLast]; +extern Atom wmatom[WMLast], netatom[NetLast];  extern Cursor cursor[CurLast];  extern Bool running, issel;  extern void (*handler[LASTEvent])(XEvent *); @@ -124,11 +124,9 @@ extern void zoom(Arg *arg);  /* draw.c */  extern void drawall();  extern void drawstatus(); -extern void drawtext(const char *text, Bool invert, Bool border);  extern void drawtitle(Client *c);  extern unsigned long getcolor(const char *colstr);  extern void setfont(const char *fontstr); -extern unsigned int textnw(char *text, unsigned int len);  extern unsigned int textw(char *text);  /* event.c */ @@ -51,8 +51,73 @@ Key key[] = {  /* static functions */ -static void movemouse(Client *c); -static void resizemouse(Client *c); +static void +movemouse(Client *c) +{ +	XEvent ev; +	int x1, y1, ocx, ocy, di; +	unsigned int dui; +	Window dummy; + +	ocx = c->x; +	ocy = c->y; +	if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, +				None, cursor[CurMove], CurrentTime) != GrabSuccess) +		return; +	XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui); +	for(;;) { +		XMaskEvent(dpy, MouseMask | ExposureMask, &ev); +		switch (ev.type) { +		default: break; +		case Expose: +			handler[Expose](&ev); +			break; +		case MotionNotify: +			XFlush(dpy); +			c->x = ocx + (ev.xmotion.x - x1); +			c->y = ocy + (ev.xmotion.y - y1); +			resize(c, False); +			break; +		case ButtonRelease: +			XUngrabPointer(dpy, CurrentTime); +			return; +		} +	} +} + +static void +resizemouse(Client *c) +{ +	XEvent ev; +	int ocx, ocy; + +	ocx = c->x; +	ocy = c->y; +	if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, +				None, cursor[CurResize], CurrentTime) != GrabSuccess) +		return; +	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w, c->h); +	for(;;) { +		XMaskEvent(dpy, MouseMask | ExposureMask, &ev); +		switch(ev.type) { +		default: break; +		case Expose: +			handler[Expose](&ev); +			break; +		case MotionNotify: +			XFlush(dpy); +			c->w = abs(ocx - ev.xmotion.x); +			c->h = abs(ocy - ev.xmotion.y); +			c->x = (ocx <= ev.xmotion.x) ? ocx : ocx - c->w; +			c->y = (ocy <= ev.xmotion.y) ? ocy : ocy - c->h; +			resize(c, True); +			break; +		case ButtonRelease: +			XUngrabPointer(dpy, CurrentTime); +			return; +		} +	} +}  static void  buttonpress(XEvent *e) @@ -214,40 +279,6 @@ maprequest(XEvent *e)  }  static void -movemouse(Client *c) -{ -	XEvent ev; -	int x1, y1, ocx, ocy, di; -	unsigned int dui; -	Window dummy; - -	ocx = c->x; -	ocy = c->y; -	if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, -				None, cursor[CurMove], CurrentTime) != GrabSuccess) -		return; -	XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui); -	for(;;) { -		XMaskEvent(dpy, MouseMask | ExposureMask, &ev); -		switch (ev.type) { -		default: break; -		case Expose: -			handler[Expose](&ev); -			break; -		case MotionNotify: -			XFlush(dpy); -			c->x = ocx + (ev.xmotion.x - x1); -			c->y = ocy + (ev.xmotion.y - y1); -			resize(c, False); -			break; -		case ButtonRelease: -			XUngrabPointer(dpy, CurrentTime); -			return; -		} -	} -} - -static void  propertynotify(XEvent *e)  {  	XPropertyEvent *ev = &e->xproperty; @@ -258,7 +289,7 @@ propertynotify(XEvent *e)  		return; /* ignore */  	if((c = getclient(ev->window))) { -		if(ev->atom == wm_atom[WMProtocols]) { +		if(ev->atom == wmatom[WMProtocols]) {  			c->proto = getproto(c->win);  			return;  		} @@ -273,7 +304,7 @@ propertynotify(XEvent *e)  				setsize(c);  				break;  		} -		if(ev->atom == XA_WM_NAME || ev->atom == net_atom[NetWMName]) { +		if(ev->atom == XA_WM_NAME || ev->atom == netatom[NetWMName]) {  			settitle(c);  			drawtitle(c);  		} @@ -281,40 +312,6 @@ propertynotify(XEvent *e)  }  static void -resizemouse(Client *c) -{ -	XEvent ev; -	int ocx, ocy; - -	ocx = c->x; -	ocy = c->y; -	if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, -				None, cursor[CurResize], CurrentTime) != GrabSuccess) -		return; -	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w, c->h); -	for(;;) { -		XMaskEvent(dpy, MouseMask | ExposureMask, &ev); -		switch(ev.type) { -		default: break; -		case Expose: -			handler[Expose](&ev); -			break; -		case MotionNotify: -			XFlush(dpy); -			c->w = abs(ocx - ev.xmotion.x); -			c->h = abs(ocy - ev.xmotion.y); -			c->x = (ocx <= ev.xmotion.x) ? ocx : ocx - c->w; -			c->y = (ocy <= ev.xmotion.y) ? ocy : ocy - c->h; -			resize(c, True); -			break; -		case ButtonRelease: -			XUngrabPointer(dpy, CurrentTime); -			return; -		} -	} -} - -static void  unmapnotify(XEvent *e)  {  	Client *c; @@ -16,10 +16,10 @@  Display *dpy;  Window root, barwin; -Atom wm_atom[WMLast], net_atom[NetLast]; +Atom wmatom[WMLast], netatom[NetLast];  Cursor cursor[CurLast];  Bool running = True; -Bool issel; +Bool issel = True;  int tsel = Tdev; /* default tag */  int screen, sx, sy, sw, sh, bx, by, bw, bh, mw; @@ -30,8 +30,6 @@ Client *clients = NULL;  Client *sel = NULL;  static Bool otherwm; -static const char version[] = -	"dwm-" VERSION ", (C)opyright MMVI Anselm R. Garbe\n";  static int (*xerrorxlib)(Display *, XErrorEvent *);  /* static functions */ @@ -109,12 +107,12 @@ getproto(Window w)  	int protos = 0;  	int i; -	res = win_property(w, wm_atom[WMProtocols], XA_ATOM, 20L, &protocols); +	res = win_property(w, wmatom[WMProtocols], XA_ATOM, 20L, &protocols);  	if(res <= 0) {  		return protos;  	}  	for(i = 0; i < res; i++) { -		if(protocols[i] == wm_atom[WMDelete]) +		if(protocols[i] == wmatom[WMDelete])  			protos |= WM_PROTOCOL_DELWIN;  	}  	free((char *) protocols); @@ -184,7 +182,8 @@ main(int argc, char *argv[])  	for(i = 1; (i < argc) && (argv[i][0] == '-'); i++) {  		switch (argv[i][1]) {  		case 'v': -			fprintf(stdout, "%s", version); +			fprintf(stdout, "%s", +					"dwm-"VERSION", (C)opyright MMVI Anselm R. Garbe\n");  			exit(0);  			break;  		default: @@ -214,12 +213,12 @@ main(int argc, char *argv[])  	xerrorxlib = XSetErrorHandler(xerror);  	/* init atoms */ -	wm_atom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); -	wm_atom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); -	net_atom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); -	net_atom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); -	XChangeProperty(dpy, root, net_atom[NetSupported], XA_ATOM, 32, -			PropModeReplace, (unsigned char *) net_atom, NetLast); +	wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); +	wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); +	netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); +	netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); +	XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32, +			PropModeReplace, (unsigned char *) netatom, NetLast);  	/* init cursors */  	cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr); | 
