#include #include #include #include #include using namespace std; /* saturation, value and hue all are 0..1 */ static void MakeTint(char *dest, double saturation, double value, double hue) { const double v = value * 255.0; hue *= 6.0; const double f = hue - (int)hue; const double x = v * (1.0 - saturation); const double y = v * (1.0 - (saturation * f)); const double z = v * (1.0 - (saturation * (1.0 - f))); switch((int)hue) { case 0: sprintf(dest, "#%02X%02X%02X", (unsigned)v, (unsigned)z, (unsigned)x); break; case 1: sprintf(dest, "#%02X%02X%02X", (unsigned)y, (unsigned)v, (unsigned)x); break; case 2: sprintf(dest, "#%02X%02X%02X", (unsigned)x, (unsigned)v, (unsigned)z); break; case 3: sprintf(dest, "#%02X%02X%02X", (unsigned)x, (unsigned)y, (unsigned)v); break; case 4: sprintf(dest, "#%02X%02X%02X", (unsigned)z, (unsigned)x, (unsigned)v); break; default: sprintf(dest, "#%02X%02X%02X", (unsigned)v, (unsigned)x, (unsigned)y); break; } } int main(void) { srand48(time(NULL)); double tint = drand48(); static char Tausta[8] = "#000000"; static char Kursori[8] = "#000000"; MakeTint(Tausta, 0.75, 1.00, tint); MakeTint(Kursori, 0.40, 1.00, tint); static const char *const parms[] = { "aterm", "-bg", "black", "-fg", "gray", "-fn", "-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-15", "-fb", "-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-15", "-color0", "#000000", "-color4", "#0000C0", "-color2", "#00C000", "-color6", "#00C0C0", "-color1", "#C00000", "-color5", "#C000C0", "-color3", "#C06000", "-color7", "#C0C0C0", "-color8", "#606060", "-color12","#6060FF", "-color10","#60FF60", "-color14","#60FFFF", "-color9", "#FF6060", "-color13","#FF60FF", "-color11","#FFFF60", "-color15","white", "-fade", "80", "-pr", Kursori, "-bw", "0", "-cr", Kursori, "-sr", "-sl", "5000", "-tr", "-trsb", "-sh", "50", "-tinttype", "true", "-tint", Tausta, "-geometry", "95x64", NULL }; execvp(parms[0], (char *const *)parms); return 0; }