What compiler and version where you using? And have you got a recent
install of Cygwin? It compiles fine here both with gcc-3.4.4 and
gcc-4.3.2. Seems you're getting an InterlockedDecrement prototype
without 'volatile' on the argument type.
> So I removed the -Werror from the Makefile and went on... However it
> seems as though not all of the colors I put in ansi_colours took
> effect. In particular, I couldn't seem to effect the value of the
> blue or light/bold blue ansi colors. For example, I tried this:
>
> static const COLORREF
> ansi_colours[16] = {
> 0x000000, 0x404040, //black, blue
> 0x00CC00, 0x00CCCC, //green, cyan
> 0xEE0000, 0xCC00CC, //red, purple
> 0xBFBF00, 0xBFBFBF, //yellow, light gray
> 0x404040, 0x404040, //gray, light blue
> 0x40FF40, 0x40FFFF, //light green, light cyan
> 0xFF4040, 0xFF40FF, //light red, light purple
> 0xFFFF40, 0xDFDFDF //light yellow, white
> };
>
> And rather than seeing grey text for blue/bold-blue, I saw the same
> old blue text that I started with. I'm not sure if this is an
> artifact of the previous warnings but doesn't really seem like it.
Perhaps you're actually using a blue from the extended color palette,
i.e. xterms 6x6x6 color cube? Otherwise, no idea what might be going
on there.
> BTW, excellent work on this project. I really am impressed with the
> results so far.
Thanks!
Andy
I realised what happened there: the entry you thought was blue is
actually red, because COLORREFs are actually encoded as BGR. (Due to
little-endianness they'll end up as RGB in memory.)
Anyways, I've implemented this on SVN trunk, would be great if you
could give it a try. (I'll leave 0.3.x in peace now, apart from
bugfixes, so this will be in 0.4.0).
svn checkout http://mintty.googlecode.com/svn/trunk/ mintty-trunk
Here are the default settings to get you started.
AnsiBlack=0,0,0
AnsiRed=191,0,0
AnsiGreen=0,191,0
AnsiYellow=191,191,0
AnsiBlue=0,0,191
AnsiMagenta=191,0,191
AnsiCyan=0,191,191
AnsiWhite=191,191,191
AnsiBoldBlack=64,64,64
AnsiBoldRed=255,64,64
AnsiBoldGreen=64,255,64
AnsiBoldYellow=255,255,64
AnsiBoldBlue=64,64,255
AnsiBoldMagenta=255,64,255
AnsiBoldCyan=64,255,255
AnsiBoldWhite=255,255,255
Andy
Hang on, the ANSI colours can already be changed using the Linux "set
palette" escape sequence: ESC ] P nrrggbb
The lowercase letters are hexadecimal digits, with n for the ANSI
color number and rr, gg, and bb for the red, green and blue
components.
E.g.:
echo -e "\e]P3FF0000"
changes yellow to red.
I'll revert the change in the interests of minimalism. :)
Sorry,
Andy
Hrm... can it handle the colour above 0 - 7 (i.e. the bold colours)?
Chris
--
Chris Sutcliffe
http://emergedesktop.org
>> echo -e "\e]P3FF0000"
>>
>> changes yellow to red.
>
> Hrm... can it handle the colour above 0 - 7 (i.e. the bold colours)?
Yes it does.... use hex:
echo -e "\e]PcFF0000"
Changes bold blue to red.
Sorry for the noise.