client.c
changeset 79 aabebd6e61f3
parent 77 38c8f7f7d401
child 80 8125f908c80c
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);