#!/bin/sh # Check whether the terminal colours filtered by our algorithm are legible export example=$( tcc "-run -lm" - <<-END #include #include #include #define N_ELEMENTS(a) (sizeof (a) / sizeof ((a)[0])) $(perl -0777 -ne 'print $& if /^.*?\nfilter_color(?s:.*?)^}$/m' \ "$(dirname "$0")"/xC.c) void main () { size_t len = 0; int *table = filter_color_cube_for_acceptable_nick_colors (&len); for (size_t i = 0; i < len; i++) printf ("<@\\x1b[38;5;%dmIRCuser\\x1b[m> I'm typing!\n", table[i]); } END ) # Both should give acceptable results, # which results in a bad compromise that the main author himself needs xterm -bg black -fg white -e 'echo $example; cat' & xterm -bg white -fg black -e 'echo $example; cat' &