fixed tag click handling, however ClkRootWin doesn't work for me 1f1a1327
Anselm R Garbe · 2008-06-12 23:04 1 file(s) · +7 −6
dwm.c +7 −6
59 59
enum { ColBorder, ColFG, ColBG, ColLast };              /* color */
60 60
enum { NetSupported, NetWMName, NetLast };              /* EWMH atoms */
61 61
enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */
62 -
enum { ClkLtSymbol = -1, ClkStatusText = -2, ClkWinTitle = -3,
63 -
       ClkClientWin = -4, ClkRootWin = -5, ClkLast = -6};/* clicks */
62 +
enum { ClkLtSymbol = 64, ClkStatusText, ClkWinTitle,
63 +
       ClkClientWin, ClkRootWin, ClkLast };             /* clicks */
64 64
65 65
/* typedefs */
66 66
typedef unsigned int uint;
314 314
315 315
	click = ClkRootWin;
316 316
	if(ev->window == barwin) {
317 -
		x = 0;
318 -
		for(i = 0; i < LENGTH(tags) && ev->x >= x; i++)
317 +
		i = x = 0;
318 +
		do
319 319
			x += TEXTW(tags[i]);
320 -
		if(i < LENGTH(tags) || ev->x <= x)
321 -
			click = i - 1;
320 +
		while(ev->x >= x && ++i < LENGTH(tags));
321 +
		if(i < LENGTH(tags))
322 +
			click = i;
322 323
		else if(ev->x < x + blw)
323 324
			click = ClkLtSymbol;
324 325
		else if(ev->x > wx + ww - TEXTW(stext))