diff options
| author | arg@10ksloc.org <unknown> | 2006-08-02 13:05:04 +0200 | 
|---|---|---|
| committer | arg@10ksloc.org <unknown> | 2006-08-02 13:05:04 +0200 | 
| commit | a55f0e12fe5c1205f4d3e40c164fd087224fad7a (patch) | |
| tree | 0ca0d9b6207465a0481002e8b7839d7d100eb2a9 | |
| parent | 0cf3ba0eab1e3b05515907b29fbb739321a7cbed (diff) | |
| download | dwm-a55f0e12fe5c1205f4d3e40c164fd087224fad7a.tar.gz | |
new stuff
| -rw-r--r-- | client.c | 36 | ||||
| -rw-r--r-- | event.c | 7 | 
2 files changed, 23 insertions, 20 deletions
| @@ -219,12 +219,13 @@ manage(Window w, XWindowAttributes *wa)  	c->h = wa->height;  	c->th = bh; -	if(c->y < bh) +	c->border = 1; +	setsize(c); + +	if(c->h != sh && c->y < bh)  		c->y = c->ty = bh; -	c->border = 1;  	c->proto = getproto(c->win); -	setsize(c);  	XSelectInput(dpy, c->win,  		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);  	XGetTransientForHint(dpy, c->win, &trans); @@ -237,8 +238,6 @@ manage(Window w, XWindowAttributes *wa)  			DefaultVisual(dpy, screen),  			CWOverrideRedirect | CWBackPixmap | CWEventMask, &twa); -	settags(c); -  	if(clients)  		clients->prev = c;  	c->next = clients; @@ -251,11 +250,12 @@ manage(Window w, XWindowAttributes *wa)  	XGrabButton(dpy, Button3, MODKEY, c->win, False, BUTTONMASK,  			GrabModeAsync, GrabModeSync, None, None); +	settags(c);  	if(!c->isfloat) -		c->isfloat = trans || (c->maxw && c->minw && -				(c->maxw == c->minw) && (c->maxh == c->minh)); - - +		c->isfloat = trans +			|| (c->maxw && c->minw && +				c->maxw == c->minw && c->maxh == c->minh) +			|| (c->w == sw && c->h == sh);  	settitle(c);  	arrange(NULL); @@ -272,6 +272,7 @@ resize(Client *c, Bool sizehints, Corner sticky)  	int bottom = c->y + c->h;  	int right = c->x + c->w;  	XConfigureEvent e; +	XWindowChanges wc;  	if(sizehints) {  		if(c->incw) @@ -287,18 +288,23 @@ resize(Client *c, Bool sizehints, Corner sticky)  		if(c->maxh && c->h > c->maxh)  			c->h = c->maxh;  	} -	if(c->x > sw) /* might happen on restart */ -		c->x = sw - c->w; -	if(c->y > sh) -		c->y = sh - c->h; +	if(c->x > right) /* might happen on restart */ +		c->x = right - c->w; +	if(c->y > bottom) +		c->y = bottom - c->h;  	if(sticky == TopRight || sticky == BotRight)  		c->x = right - c->w;  	if(sticky == BotLeft || sticky == BotRight)  		c->y = bottom - c->h;  	resizetitle(c); -	XSetWindowBorderWidth(dpy, c->win, 1); -	XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); +	wc.x = c->x; +	wc.y = c->y; +	wc.width = c->w; +	wc.height = c->h; +	wc.border_width = 1; +	XConfigureWindow(dpy, c->win, +			CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);  	e.type = ConfigureNotify;  	e.event = c->win; @@ -175,11 +175,8 @@ configurerequest(XEvent *e)  	wc.width = ev->width;  	wc.height = ev->height;  	wc.border_width = 1; -	wc.sibling = None; -	wc.stack_mode = Above; -	ev->value_mask &= ~CWStackMode; -	ev->value_mask |= CWBorderWidth; -	XConfigureWindow(dpy, ev->window, ev->value_mask, &wc); +	XConfigureWindow(dpy, ev->window, +			CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);  	XSync(dpy, False);  } | 
