From 3fdb45a0e4998544d00db8a313d39a47e45c092f Mon Sep 17 00:00:00 2001 From: speedie Date: Tue, 14 Feb 2023 16:34:57 +0100 Subject: [PATCH] cleanup last commit a bit --- st.c | 14 ++++---------- x.c | 26 +++++++++++++++++++++++--- xresources.h | 42 ++++++++++++++++++++++-------------------- 3 files changed, 49 insertions(+), 33 deletions(-) diff --git a/st.c b/st.c index 519a8c2..4093c7d 100644 --- a/st.c +++ b/st.c @@ -179,6 +179,8 @@ static void sigchld(int); static void sigusr1(int); static void ttywriteraw(const char *, size_t); +static void reloadalpha(void); + static void csidump(void); static void dcshandle(void); static void scroll_images(int n); @@ -2271,21 +2273,15 @@ strhandle(void) tfulldirt(); } return; - #if RELOADCOLORS case 4: if (narg < 3) { - reloadalpha(); break; } - p = strescseq.args[2]; - reloadalpha(); - break; - #else - case 4: + p = strescseq.args[2]; + reloadalpha(); break; - #endif case 104: /* color reset */ j = (narg > 1) ? atoi(strescseq.args[1]) : -1; @@ -2302,8 +2298,6 @@ strhandle(void) tfulldirt(); } - reloadalpha(); - return; } break; diff --git a/x.c b/x.c index 7db70dc..d284e0e 100644 --- a/x.c +++ b/x.c @@ -873,9 +873,29 @@ xloadcolor(int i, const char *name, Color *ncolor) void reloadalpha(void) { - dc.col[defaultbg].color.alpha = (unsigned short)(0xffff * alpha); - dc.col[defaultbg].pixel &= 0x00FFFFFF; - dc.col[defaultbg].pixel |= (unsigned char)(0xff * alpha) << 24; + int i = 0; + + for (i = 0; i < dc.collen; i++) + if (!xloadcolor(i, NULL, &dc.col[i])) { + if (colorname[i]) + die("could not allocate color '%s'\n", colorname[i]); + else + die("could not allocate color %d\n", i); + } + + /* set alpha */ + dc.col[defaultbg].color.alpha = (unsigned short)(0xffff * alpha); + dc.col[defaultbg].pixel &= 0x00FFFFFF; + dc.col[defaultbg].pixel |= (unsigned char)(0xff * alpha) << 24; + dc.col[selectionbg].color.alpha = (unsigned short)(0xffff * alpha); + dc.col[selectionbg].color.red = + ((unsigned short)(dc.col[selectionbg].color.red * alpha)) & 0xff00; + dc.col[selectionbg].color.green = + ((unsigned short)(dc.col[selectionbg].color.green * alpha)) & 0xff00; + dc.col[selectionbg].color.blue = + ((unsigned short)(dc.col[selectionbg].color.blue * alpha)) & 0xff00; + dc.col[selectionbg].pixel &= 0x00FFFFFF; + dc.col[selectionbg].pixel |= (unsigned char)(0xff * alpha) << 24; } void diff --git a/xresources.h b/xresources.h index bea07c0..4bf7d39 100644 --- a/xresources.h +++ b/xresources.h @@ -1,26 +1,6 @@ /* .Xresources array, you can add values to it that will be read on startup */ ResourcePref resources[] = { { "font", STRING, &font }, - { "color0", STRING, &colorname[0] }, - { "color1", STRING, &colorname[1] }, - { "color2", STRING, &colorname[2] }, - { "color3", STRING, &colorname[3] }, - { "color4", STRING, &colorname[4] }, - { "color5", STRING, &colorname[5] }, - { "color6", STRING, &colorname[6] }, - { "color7", STRING, &colorname[7] }, - { "color8", STRING, &colorname[8] }, - { "color9", STRING, &colorname[9] }, - { "color10", STRING, &colorname[10] }, - { "color11", STRING, &colorname[11] }, - { "color12", STRING, &colorname[12] }, - { "color13", STRING, &colorname[13] }, - { "color14", STRING, &colorname[14] }, - { "color15", STRING, &colorname[15] }, - { "background", STRING, &colorname[256] }, - { "foreground", STRING, &colorname[257] }, - { "curcolor", STRING, &colorname[258] }, - { "cursorColor", STRING, &colorname[258] }, { "termname", STRING, &termname }, { "shell", STRING, &shell }, { "understyle", STRING, &understyle }, @@ -51,4 +31,26 @@ ResourcePref resources[] = { { "chscale", FLOAT, &chscale }, { "cyoffset", FLOAT, &cyoffset }, { "cxoffset", FLOAT, &cxoffset }, + + /* pywal colors */ + { "color0", STRING, &colorname[0] }, + { "color1", STRING, &colorname[1] }, + { "color2", STRING, &colorname[2] }, + { "color3", STRING, &colorname[3] }, + { "color4", STRING, &colorname[4] }, + { "color5", STRING, &colorname[5] }, + { "color6", STRING, &colorname[6] }, + { "color7", STRING, &colorname[7] }, + { "color8", STRING, &colorname[8] }, + { "color9", STRING, &colorname[9] }, + { "color10", STRING, &colorname[10] }, + { "color11", STRING, &colorname[11] }, + { "color12", STRING, &colorname[12] }, + { "color13", STRING, &colorname[13] }, + { "color14", STRING, &colorname[14] }, + { "color15", STRING, &colorname[15] }, + { "background", STRING, &colorname[256] }, + { "foreground", STRING, &colorname[257] }, + { "curcolor", STRING, &colorname[258] }, + { "cursorColor", STRING, &colorname[258] }, };