diff --git a/libs/draw.c b/libs/draw.c
index b0b9933..0986f3b 100644
--- a/libs/draw.c
+++ b/libs/draw.c
@@ -267,7 +267,7 @@ int drawitemtext(struct item *item, int x, int y, int w) {
c = strtoul(c_character + 1, NULL, 10);
if (c == 5) {
- bgfg = 2;
+ bgfg = 3;
continue;
}
diff --git a/scripts/spmenu_test b/scripts/spmenu_test
index 1479254..498c298 100755
--- a/scripts/spmenu_test
+++ b/scripts/spmenu_test
@@ -137,7 +137,7 @@ l[23]=x
l[24]=y
l[25]=z
-printf "\n256 foreground colors\n"
+printf "\n256 foreground colors\n\n"
for i in {0..255}; do
[ "$cindex" -gt "25" ] && cindex=0
@@ -146,16 +146,44 @@ for i in {0..255}; do
cindex=$((cindex+1))
done
-printf "\n\n256 background colors\n"
+printf "\n\n256 background colors\n\n"
for i in {0..255}; do
printf "\e[48;5;%dm " "$i"
(((i+3) % 18)) || printf '\e[0m\n'
done
-printf "\n\nThe End\n"
+printf "\n\nTrue color foreground colors\n\n"
-printf "\nIf spmenu displayed 256 colors as well as various forms of formatted text, everything works fine.\nOtherwise, please file a bug report.\n"
+awk 'BEGIN{
+ for (colnum = 0; colnum < 100; colnum++) {
+ r = 255-(colnum*255/100);
+ g = (colnum*510/100);
+ b = (colnum*255/100);
+ if (g>255) g = 510-g;
+ printf "\033[38;2;%d;%d;%dm%s\033[0m", r,g,b, "█ ";
+ i++;
+ }
+ printf "\n";
+}'
+
+printf "\nTrue color background colors\n\n"
+
+awk 'BEGIN{
+ for (colnum = 0; colnum < 200; colnum++) {
+ r = 255-(colnum*255/200);
+ g = (colnum*510/200);
+ b = (colnum*255/200);
+ if (g>255) g = 510-g;
+ printf "\033[48;2;%d;%d;%dm%s\033[0m", r,g,b, " ";
+ i++;
+ }
+ printf "\n";
+}'
+
+printf "\nThe End\n"
+
+printf "\nIf spmenu displayed 16 colors, 256 colors and true color (full RGB spectrum) as well as various forms of formatted text, everything works fine.\nOtherwise, please file a bug report.\n"
}
-main "$@" | ${RUNLAUNCHER:-spmenu} --no-alpha --lines 40 $protocol_arg "$@" --columns 1 --prompt "spmenu test script"
+main "$@" | ${RUNLAUNCHER:-spmenu} --no-alpha --lines 41 $protocol_arg "$@" --columns 1 --prompt "spmenu test script"