equal
deleted
inserted
replaced
47 focus(Client *c) |
47 focus(Client *c) |
48 { |
48 { |
49 Client *old = sel; |
49 Client *old = sel; |
50 XEvent ev; |
50 XEvent ev; |
51 |
51 |
52 XFlush(dpy); |
|
53 sel = c; |
52 sel = c; |
54 if(old && old != c) |
53 if(old && old != c) |
55 drawtitle(old); |
54 drawtitle(old); |
56 drawtitle(c); |
55 drawtitle(c); |
57 XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); |
56 XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); |
58 XFlush(dpy); |
57 XSync(dpy, False); |
59 while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); |
58 while(XCheckMaskEvent(dpy, EnterWindowMask, &ev)); |
60 } |
59 } |
61 |
60 |
62 void |
61 void |
63 focusnext(Arg *arg) |
62 focusnext(Arg *arg) |
301 e.height = c->h; |
300 e.height = c->h; |
302 e.border_width = c->border; |
301 e.border_width = c->border; |
303 e.above = None; |
302 e.above = None; |
304 e.override_redirect = False; |
303 e.override_redirect = False; |
305 XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&e); |
304 XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&e); |
306 XFlush(dpy); |
305 XSync(dpy, False); |
307 } |
306 } |
308 |
307 |
309 void |
308 void |
310 setsize(Client *c) |
309 setsize(Client *c) |
311 { |
310 { |
391 if(sel == c) |
390 if(sel == c) |
392 sel = sel->revert ? sel->revert : clients; |
391 sel = sel->revert ? sel->revert : clients; |
393 |
392 |
394 free(c); |
393 free(c); |
395 |
394 |
396 XFlush(dpy); |
395 XSync(dpy, False); |
397 XSetErrorHandler(xerror); |
396 XSetErrorHandler(xerror); |
398 XUngrabServer(dpy); |
397 XUngrabServer(dpy); |
399 arrange(NULL); |
398 arrange(NULL); |
400 if(sel) |
399 if(sel) |
401 focus(sel); |
400 focus(sel); |