57 /* enums */ |
57 /* enums */ |
58 enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ |
58 enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ |
59 enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ |
59 enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ |
60 enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */ |
60 enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */ |
61 enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ |
61 enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ |
62 enum { ClkLtSymbol = -1, ClkStatusText = -2, ClkWinTitle = -3, |
62 enum { ClkLtSymbol = 64, ClkStatusText, ClkWinTitle, |
63 ClkClientWin = -4, ClkRootWin = -5, ClkLast = -6};/* clicks */ |
63 ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ |
64 |
64 |
65 /* typedefs */ |
65 /* typedefs */ |
66 typedef unsigned int uint; |
66 typedef unsigned int uint; |
67 typedef unsigned long ulong; |
67 typedef unsigned long ulong; |
68 |
68 |
312 Client *c; |
312 Client *c; |
313 XButtonPressedEvent *ev = &e->xbutton; |
313 XButtonPressedEvent *ev = &e->xbutton; |
314 |
314 |
315 click = ClkRootWin; |
315 click = ClkRootWin; |
316 if(ev->window == barwin) { |
316 if(ev->window == barwin) { |
317 x = 0; |
317 i = x = 0; |
318 for(i = 0; i < LENGTH(tags) && ev->x >= x; i++) |
318 do |
319 x += TEXTW(tags[i]); |
319 x += TEXTW(tags[i]); |
320 if(i < LENGTH(tags) || ev->x <= x) |
320 while(ev->x >= x && ++i < LENGTH(tags)); |
321 click = i - 1; |
321 if(i < LENGTH(tags)) |
|
322 click = i; |
322 else if(ev->x < x + blw) |
323 else if(ev->x < x + blw) |
323 click = ClkLtSymbol; |
324 click = ClkLtSymbol; |
324 else if(ev->x > wx + ww - TEXTW(stext)) |
325 else if(ev->x > wx + ww - TEXTW(stext)) |
325 click = ClkStatusText; |
326 click = ClkStatusText; |
326 else |
327 else |