tmerged merge - dwm - [fork] customized build of dwm, the dynamic window manager | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 815f9c054d1d1fe0c0878f01399561d7758bf1ce | |
parent ec11a3470c2775a75df00e3b69ee6ef60a467e34 | |
Author: [email protected] <unknown> | |
Date: Mon, 1 Sep 2008 08:22:11 +0000 | |
merged merge | |
Diffstat: | |
M dwm.c | 35 ++++++++++++++---------------… | |
1 file changed, 16 insertions(+), 19 deletions(-) | |
--- | |
diff --git a/dwm.c b/dwm.c | |
t@@ -61,7 +61,7 @@ | |
enum { CurNormal, CurResize, CurMove, CurLast }; /* cursor */ | |
enum { ColBorder, ColFG, ColBG, ColLast }; /* color */ | |
enum { NetSupported, NetWMName, NetLast }; /* EWMH atoms */ | |
-enum { WMProtocols, WMDelete, WMName, WMState, WMLast };/* default atoms */ | |
+enum { WMProtocols, WMDelete, WMState, WMLast }; /* default atoms */ | |
enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle, | |
ClkClientWin, ClkRootWin, ClkLast }; /* clicks */ | |
t@@ -233,7 +233,7 @@ static Client *sel = NULL; | |
static Client *stack = NULL; | |
static Cursor cursor[CurLast]; | |
static Display *dpy; | |
-static DC dc = {0}; | |
+static DC dc; | |
static Layout *lt[] = { NULL, NULL }; | |
static Window root, barwin; | |
/* configuration, allows nested code to access above variables */ | |
t@@ -250,20 +250,21 @@ applyrules(Client *c) { | |
XClassHint ch = { 0 }; | |
/* rule matching */ | |
- XGetClassHint(dpy, c->win, &ch); | |
- for(i = 0; i < LENGTH(rules); i++) { | |
- r = &rules[i]; | |
- if((!r->title || strstr(c->name, r->title)) | |
- && (!r->class || (ch.res_class && strstr(ch.res_class, r->clas… | |
- && (!r->instance || (ch.res_name && strstr(ch.res_name, r->ins… | |
- c->isfloating = r->isfloating; | |
- c->tags |= r->tags & TAGMASK; | |
+ if(XGetClassHint(dpy, c->win, &ch)) { | |
+ for(i = 0; i < LENGTH(rules); i++) { | |
+ r = &rules[i]; | |
+ if((!r->title || strstr(c->name, r->title)) | |
+ && (!r->class || (ch.res_class && strstr(ch.res_class,… | |
+ && (!r->instance || (ch.res_name && strstr(ch.res_name… | |
+ c->isfloating = r->isfloating; | |
+ c->tags |= r->tags & TAGMASK; | |
+ } | |
} | |
+ if(ch.res_class) | |
+ XFree(ch.res_class); | |
+ if(ch.res_name) | |
+ XFree(ch.res_name); | |
} | |
- if(ch.res_class) | |
- XFree(ch.res_class); | |
- if(ch.res_name) | |
- XFree(ch.res_name); | |
if(!c->tags) | |
c->tags = tagset[seltags]; | |
} | |
t@@ -796,9 +797,6 @@ initfont(const char *fontstr) { | |
} | |
} | |
else { | |
- if(dc.font.xfont) | |
- XFreeFont(dpy, dc.font.xfont); | |
- dc.font.xfont = NULL; | |
if(!(dc.font.xfont = XLoadQueryFont(dpy, fontstr)) | |
&& !(dc.font.xfont = XLoadQueryFont(dpy, "fixed"))) | |
die("error, cannot load font: '%s'\n", fontstr); | |
t@@ -1326,7 +1324,6 @@ setup(void) { | |
/* init atoms */ | |
wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); | |
wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); | |
- wmatom[WMName] = XInternAtom(dpy, "WM_NAME", False); | |
wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False); | |
netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); | |
netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False); | |
t@@ -1634,7 +1631,7 @@ updatesizehints(Client *c) { | |
void | |
updatetitle(Client *c) { | |
if(!gettextprop(c->win, netatom[NetWMName], c->name, sizeof c->name)) | |
- gettextprop(c->win, wmatom[WMName], c->name, sizeof c->name); | |
+ gettextprop(c->win, XA_WM_NAME, c->name, sizeof c->name); | |
} | |
void |