changed default colors
This commit is contained in:
		
							parent
							
								
									44f2e8b952
								
							
						
					
					
						commit
						9e8b3258a0
					
				
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							| @ -3,7 +3,7 @@ | |||||||
| 
 | 
 | ||||||
| include config.mk | include config.mk | ||||||
| 
 | 
 | ||||||
| SRC = client.c dev.c draw.c event.c util.c wm.c | SRC = client.c dev.c draw.c event.c main.c util.c | ||||||
| OBJ = ${SRC:.c=.o} | OBJ = ${SRC:.c=.o} | ||||||
| MAN1 = dwm.1  | MAN1 = dwm.1  | ||||||
| BIN = dwm | BIN = dwm | ||||||
| @ -22,7 +22,7 @@ config: | |||||||
| 	@echo CC $< | 	@echo CC $< | ||||||
| 	@${CC} -c ${CFLAGS} $< | 	@${CC} -c ${CFLAGS} $< | ||||||
| 
 | 
 | ||||||
| ${OBJ}: wm.h | ${OBJ}: dwm.h | ||||||
| 
 | 
 | ||||||
| dwm: ${OBJ} | dwm: ${OBJ} | ||||||
| 	@echo LD $@ | 	@echo LD $@ | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								client.c
									
									
									
									
									
								
							| @ -9,7 +9,7 @@ | |||||||
| #include <X11/Xatom.h> | #include <X11/Xatom.h> | ||||||
| #include <X11/Xutil.h> | #include <X11/Xutil.h> | ||||||
| 
 | 
 | ||||||
| #include "wm.h" | #include "dwm.h" | ||||||
| 
 | 
 | ||||||
| static void floating(void); | static void floating(void); | ||||||
| static void tiling(void); | static void tiling(void); | ||||||
| @ -125,8 +125,8 @@ resize_title(Client *c) | |||||||
| 	c->tw = 0; | 	c->tw = 0; | ||||||
| 	for(i = 0; i < TLast; i++) | 	for(i = 0; i < TLast; i++) | ||||||
| 		if(c->tags[i]) | 		if(c->tags[i]) | ||||||
| 			c->tw += textw(&dc.font, c->tags[i]) + dc.font.height; | 			c->tw += textw(c->tags[i]) + dc.font.height; | ||||||
| 	c->tw += textw(&dc.font, c->name) + dc.font.height; | 	c->tw += textw(c->name) + dc.font.height; | ||||||
| 	if(c->tw > c->w) | 	if(c->tw > c->w) | ||||||
| 		c->tw = c->w + 2; | 		c->tw = c->w + 2; | ||||||
| 	c->tx = c->x + c->w - c->tw + 2; | 	c->tx = c->x + c->w - c->tw + 2; | ||||||
| @ -226,10 +226,12 @@ focus(Client *c) | |||||||
| 	c->snext = stack; | 	c->snext = stack; | ||||||
| 	stack = c; | 	stack = c; | ||||||
| 	if(old && old != c) { | 	if(old && old != c) { | ||||||
|  | 		XSetWindowBorder(dpy, old->win, dc.bg); | ||||||
| 		XMapWindow(dpy, old->title); | 		XMapWindow(dpy, old->title); | ||||||
| 		draw_client(old); | 		draw_client(old); | ||||||
| 	} | 	} | ||||||
| 	XUnmapWindow(dpy, c->title); | 	XUnmapWindow(dpy, c->title); | ||||||
|  | 	XSetWindowBorder(dpy, c->win, dc.fg); | ||||||
| 	draw_client(c); | 	draw_client(c); | ||||||
| 	XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | 	XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); | ||||||
| 	XFlush(dpy); | 	XFlush(dpy); | ||||||
| @ -250,8 +252,6 @@ manage(Window w, XWindowAttributes *wa) | |||||||
| 	c->th = th; | 	c->th = th; | ||||||
| 	c->border = 1; | 	c->border = 1; | ||||||
| 	update_size(c); | 	update_size(c); | ||||||
| 	XSetWindowBorderWidth(dpy, c->win, 1); |  | ||||||
| 	XSetWindowBorder(dpy, c->win, dc.border); |  | ||||||
| 	XSelectInput(dpy, c->win, | 	XSelectInput(dpy, c->win, | ||||||
| 			StructureNotifyMask | PropertyChangeMask | EnterWindowMask); | 			StructureNotifyMask | PropertyChangeMask | EnterWindowMask); | ||||||
| 	XGetTransientForHint(dpy, c->win, &c->trans); | 	XGetTransientForHint(dpy, c->win, &c->trans); | ||||||
| @ -269,6 +269,7 @@ manage(Window w, XWindowAttributes *wa) | |||||||
| 	for(l=&clients; *l; l=&(*l)->next); | 	for(l=&clients; *l; l=&(*l)->next); | ||||||
| 	c->next = *l; /* *l == nil */ | 	c->next = *l; /* *l == nil */ | ||||||
| 	*l = c; | 	*l = c; | ||||||
|  | 	XSetWindowBorderWidth(dpy, c->win, 1); | ||||||
| 	XMapRaised(dpy, c->win); | 	XMapRaised(dpy, c->win); | ||||||
| 	XMapRaised(dpy, c->title); | 	XMapRaised(dpy, c->title); | ||||||
| 	XGrabButton(dpy, Button1, Mod1Mask, c->win, False, ButtonPressMask, | 	XGrabButton(dpy, Button1, Mod1Mask, c->win, False, ButtonPressMask, | ||||||
| @ -435,12 +436,12 @@ draw_client(Client *c) | |||||||
| 	for(i = 0; i < TLast; i++) { | 	for(i = 0; i < TLast; i++) { | ||||||
| 		if(c->tags[i]) { | 		if(c->tags[i]) { | ||||||
| 			dc.x += dc.w; | 			dc.x += dc.w; | ||||||
| 			dc.w = textw(&dc.font, c->tags[i]) + dc.font.height; | 			dc.w = textw(c->tags[i]) + dc.font.height; | ||||||
| 			draw(True, c->tags[i]); | 			draw(True, c->tags[i]); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	dc.x += dc.w; | 	dc.x += dc.w; | ||||||
| 	dc.w = textw(&dc.font, c->name) + dc.font.height; | 	dc.w = textw(c->name) + dc.font.height; | ||||||
| 	draw(True, c->name); | 	draw(True, c->name); | ||||||
| 	XCopyArea(dpy, dc.drawable, c->title, dc.gc, | 	XCopyArea(dpy, dc.drawable, c->title, dc.gc, | ||||||
| 			0, 0, c->tw, c->th, 0, 0); | 			0, 0, c->tw, c->th, 0, 0); | ||||||
|  | |||||||
							
								
								
									
										2
									
								
								dev.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								dev.c
									
									
									
									
									
								
							| @ -3,7 +3,7 @@ | |||||||
|  * See LICENSE file for license details. |  * See LICENSE file for license details. | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| #include "wm.h" | #include "dwm.h" | ||||||
| 
 | 
 | ||||||
| #include <stdlib.h> | #include <stdlib.h> | ||||||
| #include <string.h> | #include <string.h> | ||||||
|  | |||||||
							
								
								
									
										89
									
								
								draw.c
									
									
									
									
									
								
							
							
						
						
									
										89
									
								
								draw.c
									
									
									
									
									
								
							| @ -8,7 +8,7 @@ | |||||||
| 
 | 
 | ||||||
| #include <X11/Xlocale.h> | #include <X11/Xlocale.h> | ||||||
| 
 | 
 | ||||||
| #include "wm.h" | #include "dwm.h" | ||||||
| 
 | 
 | ||||||
| static void | static void | ||||||
| drawborder(void) | drawborder(void) | ||||||
| @ -59,7 +59,7 @@ draw(Bool border, const char *text) | |||||||
| 	x = dc.x + (h / 2); | 	x = dc.x + (h / 2); | ||||||
| 
 | 
 | ||||||
| 	/* shorten text if necessary */ | 	/* shorten text if necessary */ | ||||||
| 	while(len && (w = textnw(&dc.font, buf, len)) > dc.w - h) | 	while(len && (w = textnw(buf, len)) > dc.w - h) | ||||||
| 		buf[--len] = 0; | 		buf[--len] = 0; | ||||||
| 
 | 
 | ||||||
| 	if(w > dc.w) | 	if(w > dc.w) | ||||||
| @ -79,93 +79,80 @@ draw(Bool border, const char *text) | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static unsigned long | unsigned long | ||||||
| xinitcolors(Colormap cmap, const char *colstr) | initcolor(const char *colstr) | ||||||
| { | { | ||||||
| 	XColor color; | 	XColor color; | ||||||
|  | 	Colormap cmap = DefaultColormap(dpy, screen); | ||||||
|  | 
 | ||||||
| 	XAllocNamedColor(dpy, cmap, colstr, &color, &color); | 	XAllocNamedColor(dpy, cmap, colstr, &color, &color); | ||||||
| 	return color.pixel; | 	return color.pixel; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void |  | ||||||
| initcolors(const char *bg, const char *fg, const char *border) |  | ||||||
| { |  | ||||||
| 	Colormap cmap = DefaultColormap(dpy, screen); |  | ||||||
| 	dc.bg = xinitcolors(cmap, bg); |  | ||||||
| 	dc.fg = xinitcolors(cmap, fg); |  | ||||||
| 	dc.border = xinitcolors(cmap, border); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| unsigned int | unsigned int | ||||||
| textnw(Fnt *font, char *text, unsigned int len) | textnw(char *text, unsigned int len) | ||||||
| { | { | ||||||
| 	XRectangle r; | 	XRectangle r; | ||||||
| 	if(font->set) { | 	if(dc.font.set) { | ||||||
| 		XmbTextExtents(font->set, text, len, NULL, &r); | 		XmbTextExtents(dc.font.set, text, len, NULL, &r); | ||||||
| 		return r.width; | 		return r.width; | ||||||
| 	} | 	} | ||||||
| 	return XTextWidth(font->xfont, text, len); | 	return XTextWidth(dc.font.xfont, text, len); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| unsigned int | unsigned int | ||||||
| textw(Fnt *font, char *text) | textw(char *text) | ||||||
| { | { | ||||||
| 	return textnw(font, text, strlen(text)); | 	return textnw(text, strlen(text)); | ||||||
| } |  | ||||||
| 
 |  | ||||||
| unsigned int |  | ||||||
| texth(Fnt *font) |  | ||||||
| { |  | ||||||
| 	return font->height + 4; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void | void | ||||||
| initfont(Fnt *font, const char *fontstr) | initfont(const char *fontstr) | ||||||
| { | { | ||||||
| 	char **missing, *def; | 	char **missing, *def; | ||||||
| 	int i, n; | 	int i, n; | ||||||
| 
 | 
 | ||||||
| 	missing = NULL; | 	missing = NULL; | ||||||
| 	setlocale(LC_ALL, ""); | 	setlocale(LC_ALL, ""); | ||||||
| 	if(font->set) | 	if(dc.font.set) | ||||||
| 		XFreeFontSet(dpy, font->set); | 		XFreeFontSet(dpy, dc.font.set); | ||||||
| 	font->set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); | 	dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def); | ||||||
| 	if(missing) { | 	if(missing) { | ||||||
| 		while(n--) | 		while(n--) | ||||||
| 			fprintf(stderr, "missing fontset: %s\n", missing[n]); | 			fprintf(stderr, "missing fontset: %s\n", missing[n]); | ||||||
| 		XFreeStringList(missing); | 		XFreeStringList(missing); | ||||||
| 		if(font->set) { | 		if(dc.font.set) { | ||||||
| 			XFreeFontSet(dpy, font->set); | 			XFreeFontSet(dpy, dc.font.set); | ||||||
| 			font->set = NULL; | 			dc.font.set = NULL; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	if(font->set) { | 	if(dc.font.set) { | ||||||
| 		XFontSetExtents *font_extents; | 		XFontSetExtents *font_extents; | ||||||
| 		XFontStruct **xfonts; | 		XFontStruct **xfonts; | ||||||
| 		char **font_names; | 		char **font_names; | ||||||
| 
 | 
 | ||||||
| 		font->ascent = font->descent = 0; | 		dc.font.ascent = dc.font.descent = 0; | ||||||
| 		font_extents = XExtentsOfFontSet(font->set); | 		font_extents = XExtentsOfFontSet(dc.font.set); | ||||||
| 		n = XFontsOfFontSet(font->set, &xfonts, &font_names); | 		n = XFontsOfFontSet(dc.font.set, &xfonts, &font_names); | ||||||
| 		for(i = 0, font->ascent = 0, font->descent = 0; i < n; i++) { | 		for(i = 0, dc.font.ascent = 0, dc.font.descent = 0; i < n; i++) { | ||||||
| 			if(font->ascent < (*xfonts)->ascent) | 			if(dc.font.ascent < (*xfonts)->ascent) | ||||||
| 				font->ascent = (*xfonts)->ascent; | 				dc.font.ascent = (*xfonts)->ascent; | ||||||
| 			if(font->descent < (*xfonts)->descent) | 			if(dc.font.descent < (*xfonts)->descent) | ||||||
| 				font->descent = (*xfonts)->descent; | 				dc.font.descent = (*xfonts)->descent; | ||||||
| 			xfonts++; | 			xfonts++; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	else { | 	else { | ||||||
| 		if(font->xfont) | 		if(dc.font.xfont) | ||||||
| 			XFreeFont(dpy, font->xfont); | 			XFreeFont(dpy, dc.font.xfont); | ||||||
| 		font->xfont = NULL; | 		dc.font.xfont = NULL; | ||||||
| 		font->xfont = XLoadQueryFont(dpy, fontstr); | 		dc.font.xfont = XLoadQueryFont(dpy, fontstr); | ||||||
| 		if (!font->xfont) | 		if (!dc.font.xfont) | ||||||
| 			font->xfont = XLoadQueryFont(dpy, "fixed"); | 			dc.font.xfont = XLoadQueryFont(dpy, "fixed"); | ||||||
| 		if (!font->xfont) | 		if (!dc.font.xfont) | ||||||
| 			error("error, cannot init 'fixed' font\n"); | 			error("error, cannot init 'fixed' font\n"); | ||||||
| 		font->ascent = font->xfont->ascent; | 		dc.font.ascent = dc.font.xfont->ascent; | ||||||
| 		font->descent = font->xfont->descent; | 		dc.font.descent = dc.font.xfont->descent; | ||||||
| 	} | 	} | ||||||
| 	font->height = font->ascent + font->descent; | 	dc.font.height = dc.font.ascent + dc.font.descent; | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										29
									
								
								wm.h → dwm.h
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								wm.h → dwm.h
									
									
									
									
									
								
							| @ -8,10 +8,9 @@ | |||||||
| /********** CUSTOMIZE **********/ | /********** CUSTOMIZE **********/ | ||||||
| 
 | 
 | ||||||
| #define FONT		"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*" | #define FONT		"-*-terminus-medium-*-*-*-13-*-*-*-*-*-iso10646-*" | ||||||
| #define BGCOLOR		"#666699" | #define BGCOLOR		"DarkSlateGrey" | ||||||
| #define FGCOLOR		"#ffffff" | #define FGCOLOR		"LightSteelBlue" | ||||||
| #define BORDERCOLOR	"#9999CC" | #define BORDERCOLOR	"SlateGray" | ||||||
| #define STATUSDELAY	10 /* seconds */ |  | ||||||
| #define WM_PROTOCOL_DELWIN 1 | #define WM_PROTOCOL_DELWIN 1 | ||||||
| 
 | 
 | ||||||
| /* tags */ | /* tags */ | ||||||
| @ -106,11 +105,11 @@ extern void gravitate(Client *c, Bool invert); | |||||||
| 
 | 
 | ||||||
| /* draw.c */ | /* draw.c */ | ||||||
| extern void draw(Bool border, const char *text); | extern void draw(Bool border, const char *text); | ||||||
| extern void initcolors(const char *bg, const char *fg, const char *bo); | extern unsigned long initcolor(const char *colstr); | ||||||
| extern void initfont(Fnt *font, const char *fontstr); | extern void initfont(const char *fontstr); | ||||||
| extern unsigned int textnw(Fnt *font, char *text, unsigned int len); | extern unsigned int textnw(char *text, unsigned int len); | ||||||
| extern unsigned int textw(Fnt *font, char *text); | extern unsigned int textw(char *text); | ||||||
| extern unsigned int texth(Fnt *font); | extern unsigned int texth(void); | ||||||
| 
 | 
 | ||||||
| /* event.c */ | /* event.c */ | ||||||
| extern void discard_events(long even_mask); | extern void discard_events(long even_mask); | ||||||
| @ -121,6 +120,12 @@ extern void keypress(XEvent *e); | |||||||
| extern void mresize(Client *c); | extern void mresize(Client *c); | ||||||
| extern void mmove(Client *c); | extern void mmove(Client *c); | ||||||
| 
 | 
 | ||||||
|  | /* main.c */ | ||||||
|  | extern int error_handler(Display *dsply, XErrorEvent *e); | ||||||
|  | extern void send_message(Window w, Atom a, long value); | ||||||
|  | extern int win_proto(Window w); | ||||||
|  | extern void quit(void *aux); | ||||||
|  | 
 | ||||||
| /* util.c */ | /* util.c */ | ||||||
| extern void error(const char *errstr, ...); | extern void error(const char *errstr, ...); | ||||||
| extern void *emallocz(unsigned int size); | extern void *emallocz(unsigned int size); | ||||||
| @ -129,9 +134,3 @@ extern void *erealloc(void *ptr, unsigned int size); | |||||||
| extern char *estrdup(const char *str); | extern char *estrdup(const char *str); | ||||||
| extern void spawn(char *argv[]); | extern void spawn(char *argv[]); | ||||||
| extern void swap(void **p1, void **p2); | extern void swap(void **p1, void **p2); | ||||||
| 
 |  | ||||||
| /* wm.c */ |  | ||||||
| extern int error_handler(Display *dsply, XErrorEvent *e); |  | ||||||
| extern void send_message(Window w, Atom a, long value); |  | ||||||
| extern int win_proto(Window w); |  | ||||||
| extern void quit(void *aux); |  | ||||||
							
								
								
									
										2
									
								
								event.c
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								event.c
									
									
									
									
									
								
							| @ -9,7 +9,7 @@ | |||||||
| #include <X11/keysym.h> | #include <X11/keysym.h> | ||||||
| #include <X11/Xatom.h> | #include <X11/Xatom.h> | ||||||
| 
 | 
 | ||||||
| #include "wm.h" | #include "dwm.h" | ||||||
| 
 | 
 | ||||||
| /* local functions */ | /* local functions */ | ||||||
| static void buttonpress(XEvent *e); | static void buttonpress(XEvent *e); | ||||||
|  | |||||||
| @ -11,7 +11,7 @@ | |||||||
| #include <X11/Xatom.h> | #include <X11/Xatom.h> | ||||||
| #include <X11/Xproto.h> | #include <X11/Xproto.h> | ||||||
| 
 | 
 | ||||||
| #include "wm.h" | #include "dwm.h" | ||||||
| 
 | 
 | ||||||
| /********** CUSTOMIZE **********/ | /********** CUSTOMIZE **********/ | ||||||
| 
 | 
 | ||||||
| @ -244,10 +244,12 @@ main(int argc, char *argv[]) | |||||||
| 	update_keys(); | 	update_keys(); | ||||||
| 
 | 
 | ||||||
| 	/* style */ | 	/* style */ | ||||||
| 	initcolors(BGCOLOR, FGCOLOR, BORDERCOLOR); | 	dc.bg = initcolor(BGCOLOR); | ||||||
| 	initfont(&dc.font, FONT); | 	dc.fg = initcolor(FGCOLOR); | ||||||
|  | 	dc.border = initcolor(BORDERCOLOR); | ||||||
|  | 	initfont(FONT); | ||||||
| 
 | 
 | ||||||
| 	th = texth(&dc.font); | 	th = dc.font.height + 4; | ||||||
| 
 | 
 | ||||||
| 	dc.drawable = XCreatePixmap(dpy, root, sw, th, DefaultDepth(dpy, screen)); | 	dc.drawable = XCreatePixmap(dpy, root, sw, th, DefaultDepth(dpy, screen)); | ||||||
| 	dc.gc = XCreateGC(dpy, root, 0, 0); | 	dc.gc = XCreateGC(dpy, root, 0, 0); | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anselm R. Garbe
						Anselm R. Garbe