applied Sanders patches
This commit is contained in:
		
							parent
							
								
									937cabfa0a
								
							
						
					
					
						commit
						7b5638f61d
					
				
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							| @ -13,7 +13,6 @@ all: options dwm | ||||
| 
 | ||||
| options: | ||||
| 	@echo dwm build options: | ||||
| 	@echo "LIBS     = ${LIBS}" | ||||
| 	@echo "CFLAGS   = ${CFLAGS}" | ||||
| 	@echo "LDFLAGS  = ${LDFLAGS}" | ||||
| 	@echo "CC       = ${CC}" | ||||
| @ -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} | ||||
|  | ||||
							
								
								
									
										17
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								README
									
									
									
									
									
								
							| @ -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 | ||||
| @ -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): | ||||
| @ -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). | ||||
|  | ||||
							
								
								
									
										6
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								client.c
									
									
									
									
									
								
							| @ -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) | ||||
|  | ||||
							
								
								
									
										24
									
								
								config.mk
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								config.mk
									
									
									
									
									
								
							| @ -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 | ||||
|  | ||||
							
								
								
									
										24
									
								
								dwm.1
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								dwm.1
									
									
									
									
									
								
							| @ -21,7 +21,7 @@ time. But each window may contain more than one tag, which makes it visible in | ||||
| 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. | ||||
| @ -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 | ||||
| @ -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 | ||||
|  | ||||
							
								
								
									
										8
									
								
								dwm.h
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								dwm.h
									
									
									
									
									
								
							| @ -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; | ||||
| 
 | ||||
| @ -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; | ||||
|  | ||||
							
								
								
									
										14
									
								
								event.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								event.c
									
									
									
									
									
								
							| @ -8,9 +8,6 @@ | ||||
| #include <X11/keysym.h> | ||||
| #include <X11/Xatom.h> | ||||
| 
 | ||||
| #define ButtonMask      (ButtonPressMask | ButtonReleaseMask) | ||||
| #define MouseMask       (ButtonMask | PointerMotionMask) | ||||
| 
 | ||||
| /* CUSTOMIZE */ | ||||
| 
 | ||||
| typedef struct { | ||||
| @ -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	arguments */ | ||||
| @ -57,11 +50,9 @@ static Key key[] = { | ||||
| 	{ MODKEY|ShiftMask,	XK_c,		killclient,	{ 0 } },  | ||||
| 	{ MODKEY|ShiftMask,	XK_q,		quit,		{ 0 } }, | ||||
| 	{ MODKEY|ShiftMask,	XK_Return,	spawn,		{ .argv = term } }, | ||||
| 	/*
 | ||||
| 	{ MODKEY|ShiftMask,	XK_g,		spawn,		{ .argv = gimp } }, | ||||
| 	{ MODKEY|ShiftMask,	XK_l,		spawn,		{ .argv = xlock } }, | ||||
| 	{ MODKEY|ShiftMask,	XK_w,		spawn,		{ .argv = browse } }, | ||||
| 	*/ | ||||
| }; | ||||
| 
 | ||||
| /* END CUSTOMIZE */ | ||||
| @ -172,6 +163,7 @@ buttonpress(XEvent *e) | ||||
| 		} | ||||
| 	} | ||||
| 	else if((c = getclient(ev->window))) { | ||||
| 		focus(c); | ||||
| 		switch(ev->button) { | ||||
| 		default: | ||||
| 			break; | ||||
| @ -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))) | ||||
|  | ||||
							
								
								
									
										4
									
								
								tag.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								tag.c
									
									
									
									
									
								
							| @ -67,6 +67,8 @@ dofloat(Arg *arg) | ||||
| 			higher(sel); | ||||
| 			focus(sel); | ||||
| 		} | ||||
| 		else | ||||
| 			XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | ||||
| 	} | ||||
| 	drawall(); | ||||
| } | ||||
| @ -130,6 +132,8 @@ dotile(Arg *arg) | ||||
| 			higher(sel); | ||||
| 			focus(sel); | ||||
| 		} | ||||
| 		else | ||||
| 			XSetInputFocus(dpy, root, RevertToPointerRoot, CurrentTime); | ||||
| 	} | ||||
| 	drawall(); | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 arg@10ksloc.org
						arg@10ksloc.org