Theming Rio and acme
rio
Install Sigrid's Rio theming patch:
; bind -ac /dist/plan9front / ; cd /sys/src/cmd/rio ; hget https://ftrv.se/_/9/patches/rio-themes.patch | patch -p5 ; mk install
back 1e1e2e high f38ba8 border 313234 text cdd6f4 htext 1e1e2e title f38ba8 ltitle 6c7086 hold ffffff lhold 3399ff palehold 4d9bff paletext a5adce size f38ba8 menubar 1e1e2e menuback 1e1e2e menuhigh f38ba8 menuboard f38ba8 menutext cdd6f4 menuhtext 1e1e2e
picker </mnt/wsys/theme >/mnt/wsys/theme
cat lib/theme/rio.theme >/mnt/wsys/theme
acme
Acme does not include built in theming support so you will need to edit the C source code. Don't worry as its as you will mostly just be changing the colors around.
To start, run the following commands.
bind -ac /dist/plan9front / cd /sys/src/cmd/acme acme acme.c
You will want to edit the iconinit function to contain different definitions for the colors. Put the following CLR macro outside of the iconinit function to simplify the code:
#define CLR(c) (allocimage(display, Rect(0,0,1,1), screen->chan, 1, (c)))
Now, edit the beginning of the iconinit function to define your own colors.
void iconinit(void) { Rectangle r; Image *tmp; /* Blue */ tagcols[BACK] = CLR(0xYOURHEXCOLOR); tagcols[HIGH] = CLR(0xYOURHEXCOLOR); tagcols[BORD] = CLR(0xYOURHEXCOLOR); tagcols[TEXT] = CLR(0xYOURHEXCOLOR); tagcols[HTEXT] = CLR(0xYOURHEXCOLOR); /* Yellow */ textcols[BACK] = CLR(0xYOURHEXCOLOR); textcols[HIGH] = CLR(0xYOURHEXCOLOR); textcols[BORD] = CLR(0xYOURHEXCOLOR); textcols[TEXT] = CLR(0xYOURHEXCOLOR); textcols[HTEXT] = CLR(0xYOURHEXCOLOR);