fixed tag click handling, however ClkRootWin doesn't work for me
1f1a1327
1 file(s) · +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)) |
|