commit a06b9193c7dcbed307c163ab778ad3bf66807af3 from: Anselm R Garbe date: Sun Jun 15 09:52:57 2008 UTC minor fixes towards 5.0 commit - 43bb77a569843e637afcf16462f139e96f8220ae commit + a06b9193c7dcbed307c163ab778ad3bf66807af3 blob - c992860d03ef7302fcec372b51fac064da4db943 blob + 64bafb7d1be853ce153d959a6b68daa6493a8704 --- dwm.c +++ dwm.c @@ -60,7 +60,7 @@ enum { ColBorder, ColFG, ColBG, ColLast }; enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */ enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ enum { ClkLtSymbol = 64, ClkStatusText, ClkWinTitle, - ClkClientWin, ClkLast }; /* clicks */ + ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ /* typedefs */ typedef unsigned int uint; @@ -84,12 +84,12 @@ typedef struct { typedef struct Client Client; struct Client { char name[256]; - int x, y, w, h; - int basew, baseh, incw, inch, maxw, maxh, minw, minh; float mina, maxa; + int x, y, w, h; + int basew, baseh, incw, inch, maxw, maxh, minw, minh; int bw, oldbw; + uint tags; Bool isbanned, isfixed, isfloating, ismoved, isurgent; - uint tags; Client *next; Client *snext; Window win; @@ -312,7 +312,7 @@ buttonpress(XEvent *e) { Client *c; XButtonPressedEvent *ev = &e->xbutton; - click = ClkLast; + click = ClkRootWin; if(ev->window == barwin) { i = x = 0; do @@ -327,8 +327,10 @@ buttonpress(XEvent *e) { else click = ClkWinTitle; } - else if((c = getclient(ev->window))) + else if((c = getclient(ev->window))) { + focus(c); click = ClkClientWin; + } for(i = 0; i < LENGTH(buttons); i++) if(click == buttons[i].click && buttons[i].func && buttons[i].button == ev->button @@ -1374,7 +1376,7 @@ setup(void) { PropModeReplace, (unsigned char *) netatom, NetLast); /* select for events */ - wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask + wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask|ButtonPressMask |EnterWindowMask|LeaveWindowMask|StructureNotifyMask; XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa); XSelectInput(dpy, root, wa.event_mask);