Fixed configurerequest function

This commit is contained in:
Kris Maglione 2007-02-16 13:41:23 -05:00
parent d474cb75e5
commit e53f4f0a11
4 changed files with 19 additions and 6 deletions

View File

@ -30,6 +30,7 @@ create_client(Window w, XWindowAttributes *wa) {
c->rect.height = wa->height;
c->proto = win_proto(c->win);
update_client_name(c);
gravitate_client(c, False);
c->fixedsize = False;
XGetTransientForHint(blz.dpy, c->win, &c->trans);

11
event.c
View File

@ -96,6 +96,9 @@ configurerequest(XEvent *e) {
if(c) {
f = c->sel;
if(verbose)
fprintf(stderr, "Configure: %s\n\ta: x=%d y=%d w=%d h=%d\n",
c->name, c->rect.x, c->rect.y, c->rect.width, c->rect.height);
gravitate_client(c, True);
if(ev->value_mask & CWX)
c->rect.x = ev->x;
@ -108,6 +111,9 @@ configurerequest(XEvent *e) {
if(ev->value_mask & CWBorderWidth)
c->border = ev->border_width;
gravitate_client(c, False);
if(verbose)
fprintf(stderr, "\tb: x=%d y=%d w=%d h=%d\n",
c->rect.x, c->rect.y, c->rect.width, c->rect.height);
if(c->sel->area->floating)
frect=&c->sel->rect;
@ -115,8 +121,8 @@ configurerequest(XEvent *e) {
frect=&c->sel->revert;
*frect = c->rect;
frect->y = -labelh(&def.font);
frect->x = -def.border;
frect->y -= labelh(&def.font);
frect->x -= def.border;
frect->width += 2 * def.border;
frect->height += frame_delta_h();
c->rect = f->crect;
@ -133,6 +139,7 @@ configurerequest(XEvent *e) {
wc.border_width = ev->border_width;
wc.sibling = ev->above;
wc.stack_mode = ev->detail;
ev->value_mask &= ~(CWStackMode|CWSibling);
XConfigureWindow(blz.dpy, ev->window, ev->value_mask, &wc);
XSync(blz.dpy, False);
}

2
fs.c
View File

@ -241,7 +241,7 @@ message_root(char *message)
fprintf(stderr, "wmiiwm: warning: selcolors have been removed\n");
return Ebadcmd;
}else if(!strncmp(message, "focuscolors ", 12)) {
message += 10;
message += 12;
n = strlen(message);
return parse_colors(&message, (int *)&n, &def.focuscolor);
}

View File

@ -853,10 +853,15 @@ char *eventtype(XEvent *ev)
void printevent(XEvent *e)
{
XAnyEvent *ev = (void*)e;
Client *c;
char *name;
if(ev->window && (c = client_of_win(ev->window)))
printf("title=%s\n", c->name);
if(ev->window) {
XFetchName(blz.dpy, ev->window, &name);
if(name) {
printf("\ttitle=%s\n", name);
XFree(name);
}
}
printf("%3ld %-20s ", ev->serial, eventtype(e));
if(ev->send_event)
printf("(sendevent) ");