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 #include #include +#include #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 #include #include +#include #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 @@ #include #include +#include #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 */