tcleaned up code - dwm - [fork] customized build of dwm, the dynamic window man… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit dc5d967ee61046f899b3b49daeb9268c8161844a | |
parent fe3756c8e17f64d9b2aba93db28cb780f303f606 | |
Author: [email protected] <unknown> | |
Date: Thu, 20 Jul 2006 12:18:06 +0200 | |
cleaned up code | |
Diffstat: | |
M client.c | 16 ++++++++++------ | |
M config.mk | 2 +- | |
M draw.c | 6 ++++-- | |
M dwm.1 | 2 +- | |
M event.c | 82 ++++++++++++++---------------… | |
M main.c | 43 ++++++++++++-----------------… | |
M tag.c | 9 +++++---- | |
M util.c | 3 +++ | |
8 files changed, 78 insertions(+), 85 deletions(-) | |
--- | |
diff --git a/client.c b/client.c | |
t@@ -97,6 +97,7 @@ Client * | |
getclient(Window w) | |
{ | |
Client *c; | |
+ | |
for(c = clients; c; c = c->next) | |
if(c->win == w) | |
return c; | |
t@@ -107,6 +108,7 @@ Client * | |
getctitle(Window w) | |
{ | |
Client *c; | |
+ | |
for(c = clients; c; c = c->next) | |
if(c->title == w) | |
return c; | |
t@@ -198,8 +200,8 @@ manage(Window w, XWindowAttributes *wa) | |
{ | |
int diff; | |
Client *c; | |
- XSetWindowAttributes twa; | |
Window trans; | |
+ XSetWindowAttributes twa; | |
c = emallocz(sizeof(Client)); | |
c->win = w; | |
t@@ -278,6 +280,7 @@ void | |
pop(Client *c) | |
{ | |
Client **l; | |
+ | |
for(l = &clients; *l && *l != c; l = &(*l)->next); | |
*l = c->next; | |
t@@ -289,9 +292,9 @@ pop(Client *c) | |
void | |
resize(Client *c, Bool inc, Corner sticky) | |
{ | |
- XConfigureEvent e; | |
- int right = c->x + c->w; | |
int bottom = c->y + c->h; | |
+ int right = c->x + c->w; | |
+ XConfigureEvent e; | |
if(inc) { | |
if(c->incw) | |
t@@ -337,8 +340,9 @@ resize(Client *c, Bool inc, Corner sticky) | |
void | |
setsize(Client *c) | |
{ | |
- XSizeHints size; | |
long msize; | |
+ XSizeHints size; | |
+ | |
if(!XGetWMNormalHints(dpy, c->win, &size, &msize) || !size.flags) | |
size.flags = PSize; | |
c->flags = size.flags; | |
t@@ -375,9 +379,9 @@ setsize(Client *c) | |
void | |
settitle(Client *c) | |
{ | |
- XTextProperty name; | |
- int n; | |
char **list = NULL; | |
+ int n; | |
+ XTextProperty name; | |
name.nitems = 0; | |
c->name[0] = 0; | |
diff --git a/config.mk b/config.mk | |
t@@ -7,7 +7,7 @@ MANPREFIX = ${PREFIX}/share/man | |
X11INC = /usr/X11R6/include | |
X11LIB = /usr/X11R6/lib | |
-VERSION = 0.4 | |
+VERSION = 0.5 | |
# includes and libs | |
LIBS = -L${PREFIX}/lib -L/usr/lib -lc -L${X11LIB} -lX11 | |
diff --git a/draw.c b/draw.c | |
t@@ -14,6 +14,7 @@ static void | |
drawborder(void) | |
{ | |
XPoint points[5]; | |
+ | |
XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter); | |
XSetForeground(dpy, dc.gc, dc.border); | |
points[0].x = dc.x; | |
t@@ -33,6 +34,7 @@ static unsigned int | |
textnw(char *text, unsigned int len) | |
{ | |
XRectangle r; | |
+ | |
if(dc.font.set) { | |
XmbTextExtents(dc.font.set, text, len, NULL, &r); | |
return r.width; | |
t@@ -44,8 +46,8 @@ static void | |
drawtext(const char *text, Bool invert, Bool border) | |
{ | |
int x, y, w, h; | |
- unsigned int len; | |
static char buf[256]; | |
+ unsigned int len; | |
XGCValues gcv; | |
XRectangle r = { dc.x, dc.y, dc.w, dc.h }; | |
t@@ -170,8 +172,8 @@ drawtitle(Client *c) | |
unsigned long | |
getcolor(const char *colstr) | |
{ | |
- XColor color; | |
Colormap cmap = DefaultColormap(dpy, screen); | |
+ XColor color; | |
XAllocNamedColor(dpy, cmap, colstr, &color, &color); | |
return color.pixel; | |
diff --git a/dwm.1 b/dwm.1 | |
t@@ -1,4 +1,4 @@ | |
-.TH DWM 1 dwm-0.4 | |
+.TH DWM 1 dwm-0.5 | |
.SH NAME | |
dwm \- dynamic window manager | |
.SH SYNOPSIS | |
diff --git a/event.c b/event.c | |
t@@ -20,50 +20,44 @@ typedef struct { | |
Arg arg; | |
} Key; | |
-/* | |
const char *browse[] = { "firefox", NULL }; | |
const char *gimp[] = { "gimp", NULL }; | |
-*/ | |
-const char *term[] = { "xterm", NULL }; | |
-/* | |
+const char *term[] = { | |
"urxvtc", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", | |
"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL | |
}; | |
-coonst char *xlock[] = { "xlock", NULL }; | |
-*/ | |
+const char *xlock[] = { "xlock", NULL }; | |
static Key key[] = { | |
- /* modifier key … | |
- { ControlMask, XK_0, appendtag, … | |
- { ControlMask, XK_1, appendtag, … | |
- { ControlMask, XK_2, appendtag, … | |
- { ControlMask, XK_3, appendtag, … | |
- { MODKEY, XK_0, view, … | |
- { MODKEY, XK_1, view, … | |
- { MODKEY, XK_2, view, … | |
- { MODKEY, XK_3, view, … | |
- { MODKEY, XK_j, focusnex… | |
- { MODKEY, XK_k, focuspre… | |
- { MODKEY, XK_m, maximize… | |
- { MODKEY, XK_space, dotile, … | |
- { MODKEY, XK_Return, zoom, … | |
+ /* modifier key function argument… | |
+ { ControlMask, XK_0, appendtag, {… | |
+ { ControlMask, XK_1, appendtag, {… | |
+ { ControlMask, XK_2, appendtag, {… | |
+ { ControlMask, XK_3, appendtag, {… | |
+ { MODKEY, XK_0, view, { .… | |
+ { MODKEY, XK_1, view, { .… | |
+ { MODKEY, XK_2, view, { .… | |
+ { MODKEY, XK_3, view, { .… | |
+ { MODKEY, XK_j, focusnext, { 0 } … | |
+ { MODKEY, XK_k, focusprev, { 0 } … | |
+ { MODKEY, XK_m, maximize, { 0 } }… | |
+ { MODKEY, XK_space, dotile, { 0 }… | |
+ { MODKEY, XK_Return, zoom, { 0 } … | |
{ ControlMask|ShiftMask,XK_0, heretag, { .i = Ts… | |
{ ControlMask|ShiftMask,XK_1, heretag, { .i = Td… | |
{ ControlMask|ShiftMask,XK_2, heretag, { .i = Tw… | |
{ ControlMask|ShiftMask,XK_3, heretag, { .i = Tw… | |
- { MODKEY|ShiftMask, XK_0, replacetag, … | |
- { MODKEY|ShiftMask, XK_1, replacetag, … | |
- { MODKEY|ShiftMask, XK_2, replacetag, … | |
- { MODKEY|ShiftMask, XK_3, replacetag, … | |
- { MODKEY|ShiftMask, XK_c, killclient, … | |
- /* | |
- { MODKEY|ShiftMask, XK_g, spawn, … | |
- { MODKEY|ShiftMask, XK_l, spawn, … | |
- */ | |
- { MODKEY|ShiftMask, XK_q, quit, … | |
- { MODKEY|ShiftMask, XK_space, dofloat, { … | |
- /*{ MODKEY|ShiftMask, XK_w, spawn, … | |
- { MODKEY|ShiftMask, XK_Return, spawn, … | |
+ { MODKEY|ShiftMask, XK_0, replacetag, { .… | |
+ { MODKEY|ShiftMask, XK_1, replacetag, { .… | |
+ { MODKEY|ShiftMask, XK_2, replacetag, { .… | |
+ { MODKEY|ShiftMask, XK_3, replacetag, { .… | |
+ { MODKEY|ShiftMask, XK_c, killclient, { 0… | |
+ { MODKEY|ShiftMask, XK_g, spawn, … | |
+ { MODKEY|ShiftMask, XK_l, spawn, … | |
+ { MODKEY|ShiftMask, XK_q, quit, {… | |
+ { MODKEY|ShiftMask, XK_space, dofloat, { 0 } }, | |
+ { MODKEY|ShiftMask, XK_w, spawn, … | |
+ { MODKEY|ShiftMask, XK_Return, spawn, { .… | |
}; | |
/* static */ | |
t@@ -71,15 +65,15 @@ static Key key[] = { | |
static void | |
movemouse(Client *c) | |
{ | |
- XEvent ev; | |
int x1, y1, ocx, ocy, di; | |
unsigned int dui; | |
Window dummy; | |
+ XEvent ev; | |
ocx = c->x; | |
ocy = c->y; | |
if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAs… | |
- None, cursor[CurMove], CurrentTime) != GrabSuc… | |
+ None, cursor[CurMove], CurrentTime) != GrabSuccess) | |
return; | |
XQueryPointer(dpy, root, &dummy, &dummy, &x1, &y1, &di, &di, &dui); | |
for(;;) { | |
t@@ -105,9 +99,9 @@ movemouse(Client *c) | |
static void | |
resizemouse(Client *c) | |
{ | |
- XEvent ev; | |
int ocx, ocy; | |
Corner sticky; | |
+ XEvent ev; | |
ocx = c->x; | |
ocy = c->y; | |
t@@ -146,8 +140,8 @@ buttonpress(XEvent *e) | |
{ | |
int x; | |
Arg a; | |
- XButtonPressedEvent *ev = &e->xbutton; | |
Client *c; | |
+ XButtonPressedEvent *ev = &e->xbutton; | |
if(barwin == ev->window) { | |
switch(ev->button) { | |
t@@ -201,9 +195,9 @@ buttonpress(XEvent *e) | |
static void | |
configurerequest(XEvent *e) | |
{ | |
+ Client *c; | |
XConfigureRequestEvent *ev = &e->xconfigurerequest; | |
XWindowChanges wc; | |
- Client *c; | |
ev->value_mask &= ~CWSibling; | |
if((c = getclient(ev->window))) { | |
t@@ -248,8 +242,8 @@ destroynotify(XEvent *e) | |
static void | |
enternotify(XEvent *e) | |
{ | |
- XCrossingEvent *ev = &e->xcrossing; | |
Client *c; | |
+ XCrossingEvent *ev = &e->xcrossing; | |
if(ev->mode != NotifyNormal || ev->detail == NotifyInferior) | |
return; | |
t@@ -263,8 +257,8 @@ enternotify(XEvent *e) | |
static void | |
expose(XEvent *e) | |
{ | |
- XExposeEvent *ev = &e->xexpose; | |
Client *c; | |
+ XExposeEvent *ev = &e->xexpose; | |
if(ev->count == 0) { | |
if(barwin == ev->window) | |
t@@ -277,10 +271,10 @@ expose(XEvent *e) | |
static void | |
keypress(XEvent *e) | |
{ | |
- XKeyEvent *ev = &e->xkey; | |
static unsigned int len = key ? sizeof(key) / sizeof(key[0]) : 0; | |
unsigned int i; | |
KeySym keysym; | |
+ XKeyEvent *ev = &e->xkey; | |
keysym = XKeycodeToKeysym(dpy, (KeyCode)ev->keycode, 0); | |
for(i = 0; i < len; i++) | |
t@@ -303,8 +297,8 @@ leavenotify(XEvent *e) | |
static void | |
maprequest(XEvent *e) | |
{ | |
- XMapRequestEvent *ev = &e->xmaprequest; | |
static XWindowAttributes wa; | |
+ XMapRequestEvent *ev = &e->xmaprequest; | |
if(!XGetWindowAttributes(dpy, ev->window, &wa)) | |
return; | |
t@@ -322,9 +316,9 @@ maprequest(XEvent *e) | |
static void | |
propertynotify(XEvent *e) | |
{ | |
- XPropertyEvent *ev = &e->xproperty; | |
- Window trans; | |
Client *c; | |
+ Window trans; | |
+ XPropertyEvent *ev = &e->xproperty; | |
if(ev->state == PropertyDelete) | |
return; /* ignore */ | |
diff --git a/main.c b/main.c | |
t@@ -17,8 +17,8 @@ | |
/* static */ | |
-static Bool otherwm; | |
static int (*xerrorxlib)(Display *, XErrorEvent *); | |
+static Bool otherwm; | |
static void | |
cleanup() | |
t@@ -34,9 +34,8 @@ static void | |
scan() | |
{ | |
unsigned int i, num; | |
- Window *wins; | |
+ Window *wins, d1, d2; | |
XWindowAttributes wa; | |
- Window d1, d2; | |
if(XQueryTree(dpy, root, &d1, &d2, &wins, &num)) { | |
for(i = 0; i < num; i++) { | |
t@@ -55,10 +54,9 @@ scan() | |
static int | |
win_property(Window w, Atom a, Atom t, long l, unsigned char **prop) | |
{ | |
- Atom real; | |
- int format; | |
+ int status, format; | |
unsigned long res, extra; | |
- int status; | |
+ Atom real; | |
status = XGetWindowProperty(dpy, w, a, 0L, l, False, t, &real, &format, | |
&res, &extra, prop); | |
t@@ -101,10 +99,10 @@ Window root, barwin; | |
int | |
getproto(Window w) | |
{ | |
- unsigned char *protocols; | |
- long res; | |
int protos = 0; | |
int i; | |
+ long res; | |
+ unsigned char *protocols; | |
res = win_property(w, wmatom[WMProtocols], XA_ATOM, 20L, &protocols); | |
if(res <= 0) { | |
t@@ -148,21 +146,15 @@ int | |
xerror(Display *dpy, XErrorEvent *ee) | |
{ | |
if(ee->error_code == BadWindow | |
- || (ee->request_code == X_SetInputFocus | |
- && ee->error_code == BadMatch) | |
- || (ee->request_code == X_PolyText8 | |
- && ee->error_code == BadDrawable) | |
- || (ee->request_code == X_PolyFillRectangle | |
- && ee->error_code == BadDrawable) | |
- || (ee->request_code == X_PolySegment | |
- && ee->error_code == BadDrawable) | |
- || (ee->request_code == X_ConfigureWindow | |
- && ee->error_code == BadMatch) | |
- || (ee->request_code == X_GrabKey | |
- && ee->error_code == BadAccess)) | |
+ || (ee->request_code == X_SetInputFocus && ee->error_code == BadMatch) | |
+ || (ee->request_code == X_PolyText8 && ee->error_code == BadDrawable) | |
+ || (ee->request_code == X_PolyFillRectangle && ee->error_code == BadDr… | |
+ || (ee->request_code == X_PolySegment && ee->error_code == BadDrawable) | |
+ || (ee->request_code == X_ConfigureWindow && ee->error_code == BadMatc… | |
+ || (ee->request_code == X_GrabKey && ee->error_code == BadAccess)) | |
return 0; | |
fprintf(stderr, "dwm: fatal error: request code=%d, error code=%d\n", | |
- ee->request_code, ee->error_code); | |
+ ee->request_code, ee->error_code); | |
return xerrorxlib(dpy, ee); /* may call exit() */ | |
} | |
t@@ -170,12 +162,12 @@ int | |
main(int argc, char *argv[]) | |
{ | |
int i, n; | |
- fd_set rd; | |
- XSetWindowAttributes wa; | |
unsigned int mask; | |
+ fd_set rd; | |
Bool readstdin = True; | |
Window w; | |
XEvent ev; | |
+ XSetWindowAttributes wa; | |
for(i = 1; (i < argc) && (argv[i][0] == '-'); i++) { | |
switch (argv[i][1]) { | |
t@@ -254,14 +246,11 @@ main(int argc, char *argv[]) | |
issel = XQueryPointer(dpy, root, &w, &w, &i, &i, &i, &i, &mask); | |
- wa.event_mask = SubstructureRedirectMask | EnterWindowMask \ | |
- | LeaveWindowMask; | |
+ wa.event_mask = SubstructureRedirectMask | EnterWindowMask | LeaveWind… | |
wa.cursor = cursor[CurNormal]; | |
- | |
XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa); | |
strcpy(stext, "dwm-"VERSION); | |
- | |
scan(); | |
/* main event loop, reads status text from stdin as well */ | |
diff --git a/tag.c b/tag.c | |
t@@ -20,9 +20,9 @@ typedef struct { | |
/* CUSTOMIZE */ | |
static Rule rule[] = { | |
- /* class instance tags is… | |
- { "Firefox.*", { [Twww] = "www" }, False… | |
- { "Gimp.*", { 0 }, … | |
+ /* class:instance tags isfloat */ | |
+ { "Firefox.*", { [Twww] = "www" }, False… | |
+ { "Gimp.*", { 0 }, True}, | |
}; | |
/* extern */ | |
t@@ -71,8 +71,8 @@ dofloat(Arg *arg) | |
void | |
dotile(Arg *arg) | |
{ | |
- Client *c; | |
int n, i, w, h; | |
+ Client *c; | |
w = sw - mw; | |
arrange = dotile; | |
t@@ -161,6 +161,7 @@ void | |
replacetag(Arg *arg) | |
{ | |
int i; | |
+ | |
if(!sel) | |
return; | |
diff --git a/util.c b/util.c | |
t@@ -26,6 +26,7 @@ void * | |
emallocz(unsigned int size) | |
{ | |
void *res = calloc(1, size); | |
+ | |
if(!res) | |
bad_malloc(size); | |
return res; | |
t@@ -34,6 +35,7 @@ emallocz(unsigned int size) | |
void | |
eprint(const char *errstr, ...) { | |
va_list ap; | |
+ | |
va_start(ap, errstr); | |
vfprintf(stderr, errstr, ap); | |
va_end(ap); | |
t@@ -44,6 +46,7 @@ void | |
spawn(Arg *arg) | |
{ | |
char **argv = (char **)arg->argv; | |
+ | |
if(!argv || !argv[0]) | |
return; | |
if(fork() == 0) { |