163 lines · 4.9 KB · Text
RawDownload
diff -u /sys/src/cmd/acme/acme.c acme/acme.c--- /sys/src/cmd/acme/acme.c	Sun Oct 21 04:51:43 2018+++ acme/acme.c	Sun Oct 28 22:47:07 2018@@ -8,6 +8,7 @@ #include <frame.h> #include <fcall.h> #include <plumb.h>+#include <theme.h> #include "dat.h" #include "fns.h" 	/* for generating syms in mkfile only: */@@ -226,6 +227,7 @@ 			} 	} 	flushimage(display, 1);+	themeend();  	acmeerrorinit(); 	threadcreate(keyboardthread, nil, STACK);@@ -865,19 +867,21 @@ 	Rectangle r; 	Image *tmp; +	themeinit("acme");+ 	/* Blue */-	tagcols[BACK] = allocimagemix(display, DPalebluegreen, DWhite);-	tagcols[HIGH] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DPalegreygreen);-	tagcols[BORD] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DPurpleblue);-	tagcols[TEXT] = display->black;-	tagcols[HTEXT] = display->black;+	tagcols[BACK] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("cmdback", 0xFFFFD4FF));+	tagcols[HIGH] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("cmdhigh", DPalegreygreen));+	tagcols[BORD] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("cmdbord", DPurpleblue));+	tagcols[TEXT] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("cmdtext", DBlack));+	tagcols[HTEXT] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("cmdhtext", DBlack));  	/* Yellow */-	textcols[BACK] = allocimagemix(display, DPaleyellow, DWhite);-	textcols[HIGH] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DDarkyellow);-	textcols[BORD] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DYellowgreen);-	textcols[TEXT] = display->black;-	textcols[HTEXT] = display->black;+	textcols[BACK] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("mainback", 0xFFFFD4FF));+	textcols[HIGH] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("mainhigh", DDarkyellow));+	textcols[BORD] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("mainbord", DYellowgreen));+	textcols[TEXT] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("maintext", DBlack));+	textcols[HTEXT] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("mainhtext", DBlack));  	if(button){ 		freeimage(button);diff -u /sys/src/cmd/acme/cols.c acme/cols.c--- /sys/src/cmd/acme/cols.c	Sun Oct 21 04:51:43 2018+++ acme/cols.c	Sun Oct 28 22:57:43 2018@@ -8,16 +8,23 @@ #include <frame.h> #include <fcall.h> #include <plumb.h>+#include <theme.h> #include "dat.h" #include "fns.h" +Image *background;+ void colinit(Column *c, Rectangle r) { 	Rectangle r1; 	Text *t; -	draw(screen, r, display->white, nil, ZP);+	if(background == nil){+		background = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("background", DBlack));+	}++	draw(screen, r, background, nil, ZP); 	c->r = r; 	c->w = nil; 	c->nw = 0;@@ -134,7 +141,7 @@ 	c->nw--; 	c->w = realloc(c->w, c->nw*sizeof(Window*)); 	if(c->nw == 0){-		draw(screen, r, display->white, nil, ZP);+		draw(screen, r, background, nil, ZP); 		return; 	} 	if(i == c->nw){		/* extend last window down */@@ -183,6 +190,7 @@ 	Window *w;  	clearmouse();+	draw(screen, r, background, nil, ZP); 	r1 = r; 	r1.max.y = r1.min.y + c->tag.font->height; 	textresize(&c->tag, r1);diff -u /sys/src/cmd/acme/mkfile acme/mkfile--- /sys/src/cmd/acme/mkfile	Sun Oct 21 04:51:43 2018+++ acme/mkfile	Sun Oct 28 22:47:07 2018@@ -36,7 +36,7 @@  </sys/src/cmd/mkone -$O.out:	/$objtype/lib/libframe.a /$objtype/lib/libdraw.a /$objtype/lib/libthread.a+$O.out:	/$objtype/lib/libframe.a /$objtype/lib/libdraw.a /$objtype/lib/libthread.a /$objtype/lib/libtheme.a  edit.$O ecmd.$O elog.$O:	edit.h diff -u /sys/src/cmd/acme/rows.c acme/rows.c--- /sys/src/cmd/acme/rows.c	Sun Oct 21 04:51:43 2018+++ acme/rows.c	Sun Oct 28 22:47:07 2018@@ -9,16 +9,23 @@ #include <fcall.h> #include <bio.h> #include <plumb.h>+#include <theme.h> #include "dat.h" #include "fns.h" +Image *background;+ void rowinit(Row *row, Rectangle r) { 	Rectangle r1; 	Text *t; -	draw(screen, r, display->white, nil, ZP);+	if(background == nil){+		background = allocimage(display, Rect(0,0,1,1), screen->chan, 1, themeget("background", DBlack));+	}++	draw(screen, r, background, nil, ZP); 	row->r = r; 	row->col = nil; 	row->ncol = 0;@@ -63,7 +70,7 @@ 		r = d->r; 		if(Dx(r) < 100) 			return nil;-		draw(screen, r, display->white, nil, ZP);+		draw(screen, r, background, nil, ZP); 		r1 = r; 		r1.max.x = min(x, r.max.x-50); 		if(Dx(r1) < 50)@@ -178,7 +185,7 @@ 		p.x = c->r.max.x-80-Scrollwid; 	r = d->r; 	r.max.x = c->r.max.x;-	draw(screen, r, display->white, nil, ZP);+	draw(screen, r, background, nil, ZP); 	r.max.x = p.x; 	colresize(d, r); 	r = c->r;@@ -210,7 +217,7 @@ 	row->ncol--; 	row->col = realloc(row->col, row->ncol*sizeof(Column*)); 	if(row->ncol == 0){-		draw(screen, r, display->white, nil, ZP);+		draw(screen, r, background, nil, ZP); 		return; 	} 	if(i == row->ncol){		/* extend last column right */