tapplied Sanders patches - dwm - [fork] customized build of dwm, the dynamic wi… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 7b5638f61d5c8b5a76bc3f7a5962cb7490da3b6b | |
parent 937cabfa0aad7eef6d25e9d142a478163de200c5 | |
Author: [email protected] <unknown> | |
Date: Tue, 1 Aug 2006 12:32:33 +0200 | |
applied Sanders patches | |
Diffstat: | |
M Makefile | 3 +-- | |
M README | 17 +++++++++-------- | |
M client.c | 6 +++--- | |
M config.mk | 24 +++++++++--------------- | |
M dwm.1 | 24 +++++++----------------- | |
M dwm.h | 8 ++++++-- | |
M event.c | 14 +++----------- | |
M tag.c | 4 ++++ | |
8 files changed, 42 insertions(+), 58 deletions(-) | |
--- | |
diff --git a/Makefile b/Makefile | |
t@@ -13,7 +13,6 @@ all: options dwm | |
options: | |
@echo dwm build options: | |
- @echo "LIBS = ${LIBS}" | |
@echo "CFLAGS = ${CFLAGS}" | |
@echo "LDFLAGS = ${LDFLAGS}" | |
@echo "CC = ${CC}" | |
t@@ -29,7 +28,7 @@ dwm: ${OBJ} | |
@${CC} -o $@ ${OBJ} ${LDFLAGS} | |
clean: | |
- rm -f dwm *.o core dwm-${VERSION}.tar.gz | |
+ rm -f dwm *.o dwm-${VERSION}.tar.gz | |
dist: clean | |
mkdir -p dwm-${VERSION} | |
diff --git a/README b/README | |
t@@ -1,6 +1,6 @@ | |
dwm - dynamic window manager | |
---------------------------- | |
-dwm is an extremly fast, small, and dynamic X11 window manager. | |
+dwm is an extremely fast, small, and dynamic X11 window manager. | |
Requirements | |
t@@ -10,8 +10,8 @@ In order to build dwm you need the Xlib header files. | |
Installation | |
------------ | |
-Edit config.mk to match your local setup. dwm is installed into | |
-the /usr/local namespace by default. | |
+Edit config.mk to match your local setup (dwm is installed into | |
+the /usr/local namespace by default). | |
Afterwards enter the following command to build and install dwm (if | |
necessary as root): | |
t@@ -35,16 +35,17 @@ This will start dwm on display :1 of the host foo.bar. | |
Displaying status info | |
---------------------- | |
-In order to display status info in the bar, you can do following | |
-in .xinitrc: | |
+In order to display status info in the bar, you can do something | |
+like this in your .xinitrc: | |
while true | |
do | |
echo `date` `uptime | sed 's/.*://; s/,//g'` | |
- sleep 2 | |
+ sleep 1 | |
done | dwm | |
+ | |
Configuration | |
------------- | |
-The configuration of dwm is done by customizing source code, | |
-grep for CUSTOMIZE keyword. | |
+The configuration of dwm is done by customizing its source code | |
+(grep for the CUSTOMIZE keyword). | |
diff --git a/client.c b/client.c | |
t@@ -244,11 +244,11 @@ manage(Window w, XWindowAttributes *wa) | |
c->next = clients; | |
clients = c; | |
- XGrabButton(dpy, Button1, MODKEY, c->win, False, ButtonPressMask, | |
+ XGrabButton(dpy, Button1, MODKEY, c->win, False, ButtonMask, | |
GrabModeAsync, GrabModeSync, None, None); | |
- XGrabButton(dpy, Button2, MODKEY, c->win, False, ButtonPressMask, | |
+ XGrabButton(dpy, Button2, MODKEY, c->win, False, ButtonMask, | |
GrabModeAsync, GrabModeSync, None, None); | |
- XGrabButton(dpy, Button3, MODKEY, c->win, False, ButtonPressMask, | |
+ XGrabButton(dpy, Button3, MODKEY, c->win, False, ButtonMask, | |
GrabModeAsync, GrabModeSync, None, None); | |
if(!c->isfloat) | |
diff --git a/config.mk b/config.mk | |
t@@ -7,24 +7,18 @@ MANPREFIX = ${PREFIX}/share/man | |
X11INC = /usr/X11R6/include | |
X11LIB = /usr/X11R6/lib | |
-VERSION = 0.5 | |
- | |
# includes and libs | |
-LIBS = -L${PREFIX}/lib -L/usr/lib -lc -L${X11LIB} -lX11 | |
+INCS = -I/usr/lib -I${X11INC} | |
+LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 | |
-# Linux/BSD | |
-CFLAGS = -O3 -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \ | |
- -DVERSION=\"${VERSION}\" | |
+# flags | |
+CFLAGS = -O3 ${INCS} -DVERSION=\"${VERSION}\" | |
LDFLAGS = ${LIBS} | |
-#CFLAGS = -g -Wall -O2 -I. -I${PREFIX}/include -I/usr/include -I${X11INC} \ | |
-# -DVERSION=\"${VERSION}\" | |
+#CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" | |
#LDFLAGS = -g ${LIBS} | |
- | |
-# Solaris | |
-#CFLAGS = -fast -xtarget=ultra ${INCLUDES} -DVERSION=\"${VERSION}\" | |
-#LIBS += -lnsl -lsocket | |
- | |
-AR = ar cr | |
+# compiler | |
CC = cc | |
-RANLIB = ranlib | |
+ | |
+# dwm version | |
+VERSION = 0.6 | |
diff --git a/dwm.1 b/dwm.1 | |
t@@ -21,7 +21,7 @@ time. But each window may contain more than one tag, which m… | |
several views. | |
.P | |
.B dwm | |
-consists of a small status bar which reads the text displayed from standard | |
+has a small status bar which reads the text displayed from standard | |
input, if written. It draws 1-pixel borders around windows to indicate the | |
focus state. Unfocused windows contain a small bar in front of the window | |
displaying the tags and the window title. | |
t@@ -56,14 +56,12 @@ Focus | |
tag | |
.TP | |
.B Mod1-space | |
-(Re-)arrange | |
-.B all | |
-windows tiled | |
-.TP | |
-.B Mod1-Shift-space | |
-(Re-)arrange | |
-.B all | |
-windows floating | |
+Toggle between | |
+.B tiled | |
+and | |
+.B floating | |
+mode (affects | |
+.BR "all windows" ) | |
.TP | |
.B Mod1-Shift-[0..n] | |
Apply | |
t@@ -79,14 +77,6 @@ Quit | |
Start | |
.B terminal | |
.TP | |
-.B Mod1-Shift-w | |
-Start | |
-.B web browser | |
-.TP | |
-.B Mod1-Shift-l | |
-Lock | |
-.B screen | |
-.TP | |
.B Mod1-Control-[0..n] | |
Append | |
.B nth | |
diff --git a/dwm.h b/dwm.h | |
t@@ -25,9 +25,12 @@ enum { Tfnord, Tdev, Tnet, Twork, Tmisc, TLast }; | |
/* END CUSTOMIZE */ | |
+/* mask shorthands, used in event.c and client.c */ | |
+#define ButtonMask (ButtonPressMask | ButtonReleaseMask) | |
+#define MouseMask (ButtonMask | PointerMotionMask) | |
+ | |
typedef union Arg Arg; | |
typedef struct Client Client; | |
-typedef enum Corner Corner; | |
typedef struct DC DC; | |
typedef struct Fnt Fnt; | |
t@@ -43,7 +46,8 @@ enum { WMProtocols, WMDelete, WMLast }; | |
/* cursor */ | |
enum { CurNormal, CurResize, CurMove, CurLast }; | |
-enum Corner { TopLeft, TopRight, BotLeft, BotRight }; | |
+/* windowcorners */ | |
+typedef enum { TopLeft, TopRight, BotLeft, BotRight } Corner; | |
struct Fnt { | |
int ascent; | |
diff --git a/event.c b/event.c | |
t@@ -8,9 +8,6 @@ | |
#include <X11/keysym.h> | |
#include <X11/Xatom.h> | |
-#define ButtonMask (ButtonPressMask | ButtonReleaseMask) | |
-#define MouseMask (ButtonMask | PointerMotionMask) | |
- | |
/* CUSTOMIZE */ | |
typedef struct { | |
t@@ -20,17 +17,13 @@ typedef struct { | |
Arg arg; | |
} Key; | |
-/* | |
const char *browse[] = { "firefox", NULL }; | |
const char *gimp[] = { "gimp", NULL }; | |
-*/ | |
-const char *term[] = { "xterm", NULL }; | |
-/* | |
+const char *term[] = { /*"xterm", NULL };*/ | |
"urxvt", "-tr", "+sb", "-bg", "black", "-fg", "white", "-cr", "white", | |
"-fn", "-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*", NULL | |
}; | |
const char *xlock[] = { "xlock", NULL }; | |
-*/ | |
static Key key[] = { | |
/* modifier key function argument… | |
t@@ -57,11 +50,9 @@ static Key key[] = { | |
{ MODKEY|ShiftMask, XK_c, killclient, { 0… | |
{ MODKEY|ShiftMask, XK_q, quit, {… | |
{ MODKEY|ShiftMask, XK_Return, spawn, { .… | |
- /* | |
{ MODKEY|ShiftMask, XK_g, spawn, … | |
{ MODKEY|ShiftMask, XK_l, spawn, … | |
{ MODKEY|ShiftMask, XK_w, spawn, … | |
- */ | |
}; | |
/* END CUSTOMIZE */ | |
t@@ -172,6 +163,7 @@ buttonpress(XEvent *e) | |
} | |
} | |
else if((c = getclient(ev->window))) { | |
+ focus(c); | |
switch(ev->button) { | |
default: | |
break; | |
t@@ -247,7 +239,7 @@ enternotify(XEvent *e) | |
Client *c; | |
XCrossingEvent *ev = &e->xcrossing; | |
- if(ev->mode != NotifyNormal || ev->detail == NotifyInferior) | |
+ if(ev->detail == NotifyInferior) | |
return; | |
if((c = getclient(ev->window))) | |
diff --git a/tag.c b/tag.c | |
t@@ -67,6 +67,8 @@ dofloat(Arg *arg) | |
higher(sel); | |
focus(sel); | |
} | |
+ else | |
+ XSetInputFocus(dpy, root, RevertToPointerRoot, Current… | |
} | |
drawall(); | |
} | |
t@@ -130,6 +132,8 @@ dotile(Arg *arg) | |
higher(sel); | |
focus(sel); | |
} | |
+ else | |
+ XSetInputFocus(dpy, root, RevertToPointerRoot, Current… | |
} | |
drawall(); | |
} |