Introduction
Introduction Statistics Contact Development Disclaimer Help
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) {
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.