comparison client.c @ 79:aabebd6e61f3

fixed XSync handling and finished man page
author Anselm R. Garbe <garbeam@wmii.de>
date Sat, 15 Jul 2006 18:51:44 +0200
parents 38c8f7f7d401
children 8125f908c80c
comparison
equal deleted inserted replaced
78:0d71fb80b592 79:aabebd6e61f3
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);