tfixed the border issue for mplayer, ff is definately broken when using F11 (fu… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 22399a3bc05406a89f6ad717800b4d9ba41f6e0a | |
parent ad2508f9578195e703033df3cceb441f716261bd | |
Author: Anselm R. Garbe <[email protected]> | |
Date: Thu, 19 Apr 2007 09:24:25 +0200 | |
fixed the border issue for mplayer, ff is definately broken when using F11 (ful… | |
Diffstat: | |
M client.c | 14 ++++++++++---- | |
M dwm.h | 2 +- | |
M main.c | 2 +- | |
3 files changed, 12 insertions(+), 6 deletions(-) | |
--- | |
diff --git a/client.c b/client.c | |
t@@ -185,9 +185,11 @@ manage(Window w, XWindowAttributes *wa) { | |
c->y = wa->y; | |
c->w = wa->width; | |
c->h = wa->height; | |
+ c->oldborder = wa->border_width; | |
if(c->w == sw && c->h == sh) { | |
c->x = sx; | |
c->y = sy; | |
+ c->border = wa->border_width; | |
} | |
else { | |
if(c->x + c->w + 2 * c->border > wax + waw) | |
t@@ -198,15 +200,16 @@ manage(Window w, XWindowAttributes *wa) { | |
c->x = wax; | |
if(c->y < way) | |
c->y = way; | |
+ c->border = BORDERPX; | |
} | |
+ wc.border_width = c->border; | |
+ XConfigureWindow(dpy, w, CWBorderWidth, &wc); | |
+ XSetWindowBorder(dpy, w, dc.norm[ColBorder]); | |
+ configure(c); /* propagates border_width, if size doesn't change */ | |
updatesizehints(c); | |
XSelectInput(dpy, w, | |
StructureNotifyMask | PropertyChangeMask | EnterWindowMask); | |
grabbuttons(c, False); | |
- c->border = wc.border_width = (c->w == sw && c->h == sh) ? wa->border_… | |
- XConfigureWindow(dpy, w, CWBorderWidth, &wc); | |
- XSetWindowBorder(dpy, w, dc.norm[ColBorder]); | |
- configure(c); /* propagates border_width, if size doesn't change */ | |
updatetitle(c); | |
if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success)) | |
for(t = clients; t && t->win != trans; t = t->next); | |
t@@ -378,10 +381,13 @@ updatetitle(Client *c) { | |
void | |
unmanage(Client *c) { | |
Client *nc; | |
+ XWindowChanges wc; | |
+ wc.border_width = c->oldborder; | |
/* The server grab construct avoids race conditions. */ | |
XGrabServer(dpy); | |
XSetErrorHandler(xerrordummy); | |
+ XConfigureWindow(dpy, c->win, CWBorderWidth, &wc); /* restore border */ | |
detach(c); | |
detachstack(c); | |
if(sel == c) { | |
diff --git a/dwm.h b/dwm.h | |
t@@ -50,7 +50,7 @@ struct Client { | |
int basew, baseh, incw, inch, maxw, maxh, minw, minh; | |
int minax, maxax, minay, maxay; | |
long flags; | |
- unsigned int border; | |
+ unsigned int border, oldborder; | |
Bool isbanned, isfixed, ismax, isfloating; | |
Bool *tags; | |
Client *next; | |
diff --git a/main.c b/main.c | |
t@@ -81,7 +81,7 @@ initfont(const char *fontstr) { | |
dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); | |
if(missing) { | |
while(n--) | |
- fprintf(stderr, "missing fontset: %s\n", missing[n]); | |
+ fprintf(stderr, "dwm: missing fontset: %s\n", missing[… | |
XFreeStringList(missing); | |
} | |
if(dc.font.set) { |