IPython colors in windows

C

Claudio Grondi

Ashot said:
whoa, that was quick, looks like it works for me. Thanks a lot!
It would be nice to be able to set the colors in the prefs file, although
its possible to edit the pyColorize file as Claudio mentioned.
To get the coloured texts on a grey (instead of white) background
I have extended the Console.py to accept sequences as e.g.
"0;33;47" (see attachment)
have extended also the
def make_color_table(in_class):
in the ColorANSI.py of IPython
and adjusted the pyColorize.py file, but it had not the desired effect.
IPython seems not to be sending to Console.py the sequences
defined in the
LightBGColors = ColorScheme( ... )
section of pyColorize.py (or there is a problem with the
extension I have done to Console.py)
I have just forced Console.py to treat "0;33" as "0;33;47", to
achieve the result I want (see attachment).
It seems, that the problem with Console.py of the readline module,
is not the only one which existed - there is maybe also a problem
with IPython color schemes handling, so I gave up to try to achieve
a clean nice solution supporting also selection of background colors
for any colorized text output in IPython.
It works for me as it is now, so probably it is better to wait for the
next release of IPython with a cleaner implementation of color
schemes before further efforts towards support for choosing
of background colors for each colorized text output in IPython
via extension of Console.py of the readline module.

Claudio

attachment:
# Mapping of ANSI color escape sequences into wAttributes (Windows
Console
# Attributes) according to constants #define(d) in WinCon.h for usage
with:
# WINBASEAPI BOOL WINAPI SetConsoleTextAttribute(
# IN HANDLE hConsoleOutput,
# IN WORD wAttributes );
escape_to_color = {
'0' : None # reset colors
to default setting
# text color (color of characters):
# # Foreground Background
# # I , R , G , B I , R , G , B #
Intensified, Red, Green, Blue
# ,'0;30': ( 0x0) # (dark)black
(#000000)
# ,'0;31': ( 0x4 ) # (dark)red
(#800000)
# ,'0;32': ( 0x2 ) # (dark)green
(#008000)
# ,'0;33': ( 0x4+0x2 ) #
(dark)yellow (#808000)
# ,'0;34': ( 0x1) # (dark)blue
(#000080)
# ,'0;35': ( 0x4+ 0x1) #
(dark)purple (#800080)
# ,'0;36': ( 0x4+0x2 ) # (dark)cyan
(#808000)
# ,'0;37': ( 0x4+0x2+0x1) # (dark)white
(#C0C0C0)
# # Foreground Background
# # I , R , G , B I , R , G , B #
Intensified, Red, Green, Blue
# ,'1;30': (0x8 ) # light black
(#808080)
# ,'1;31': (0x8+0x4 ) # light red
(#FF0000)
# ,'1;32': (0x8+ 0x2 ) # light green
(#00FF00)
# ,'1;33': (0x8+0x4+0x2 ) # light
yellow (#FFFF00)
# ,'1;34': (0x8+ 0x1) # light blue
(#0000FF)
# ,'1;35': (0x8+0x4+ 0x1) # light
purple (#FF00FF)
# ,'1;36': (0x8+0x4+0x2 ) # light cyan
(#FFFF00)
# ,'1;37': (0x8+0x4+0x2+0x1) # light white
(#FFFFFF)
# text background color (color of rectangles in which text characters are
displayed):
# Foreground Background
# I , R , G , B I , R , G , B # Intensified,
Red, Green, Blue
,'0;40': (( 0x0)<<4) # dark black
(#000000)
,'0;41': (( 0x4 )<<4) # dark red
(#800000)
,'0;42': (( 0x2 )<<4) # dark green
(#008000)
,'0;43': (( 0x4+0x2 )<<4) # dark yellow
(#808000)
,'0;44': (( 0x1)<<4) # dark blue
(#000080)
,'0;45': (( 0x4+ 0x1)<<4) # dark purple
(#800080)
,'0;46': (( 0x4+0x2 )<<4) # dark cyan
(#808000)
,'0;47': (( 0x4+0x2+0x1)<<4) # dark white
(#C0C0C0)
# Foreground Background
# I , R , G , B I , R , G , B # Intensified,
Red, Green, Blue
,'1;40': ((0x8 )<<4) # light black
(#808080)
,'1;41': ((0x8+0x4 )<<4) # light red
(#FF0000)
,'1;42': ((0x8+ 0x2 )<<4) # light green
(#00FF00)
,'1;43': ((0x8+0x4+0x2 )<<4) # light yellow
(#FFFF00)
,'1;44': ((0x8+ 0x1)<<4) # light blue
(#0000FF)
,'1;45': ((0x8+0x4+ 0x1)<<4) # light purple
(#FF00FF)
,'1;46': ((0x8+0x4+0x2 )<<4) # light cyan
(#FFFF00)
,'1;47': ((0x8+0x4+0x2+0x1)<<4) # light white
(#FFFFFF)
# text color (color of characters) on grey background:
# Foreground Background
# I , R , G , B I , R , G , B # Intensified,
Red, Green, Blue
,'0;30;47': ( 0x0) + ((0x8 )<<4) # light black
(#808080)
,'0;31;47': ( 0x4 ) + (( 0x4+0x2+0x1)<<4) # (dark)red
(on light grey #C0C0C0)
,'0;32;47': ( 0x2 ) + (( 0x4+0x2+0x1)<<4) # (dark)green
(on light grey #C0C0C0)
,'0;33;47': ( 0x4+0x2 ) + (( 0x4+0x2+0x1)<<4) # (dark)yellow(
on light grey #C0C0C0)
,'0;34;47': ( 0x1) + (( 0x4+0x2+0x1)<<4) # (dark)blue
(on light grey #C0C0C0)
,'0;35;47': ( 0x4+ 0x1) + (( 0x4+0x2+0x1)<<4) #
(dark)purple(on light grey #C0C0C0)
,'0;36;47': ( 0x4+0x2 ) + (( 0x4+0x2+0x1)<<4) # (dark)cyan
(on light grey #C0C0C0)
,'0;37;47': ( 0x4+0x2+0x1) + (( 0x4+0x2+0x1)<<4) # (dark)white
(on light grey #C0C0C0)
# Foreground Background
# I , R , G , B I , R , G , B # Intensified,
Red, Green, Blue
,'1;30;40': (0x8 ) + ((0x8 )<<4) # light black
(#808080)
,'1;31;40': (0x8+0x4 ) + ((0x8 )<<4) # light red
(on dark grey #808080)
,'1;32;40': (0x8+ 0x2 ) + ((0x8 )<<4) # light green
(on dark grey #808080)
,'1;33;40': (0x8+0x4+0x2 ) + ((0x8 )<<4) # light yellow
(on dark grey #808080)
,'1;34;40': (0x8+ 0x1) + ((0x8 )<<4) # light blue
(on dark grey #808080)
,'1;35;40': (0x8+0x4+ 0x1) + ((0x8 )<<4) # light purple
(on dark grey #808080)
,'1;36;40': (0x8+0x4+0x2 ) + ((0x8 )<<4) # light cyan
(on dark grey #808080)
,'1;37;40': (0x8+0x4+0x2+0x1) + ((0x8 )<<4) # light white
(on dark grey #808080)
# Foreground Background
# I , R , G , B I , R , G , B # Intensified,
Red, Green, Blue
,'1;30;0;47': (0x8 ) + ((0x8 )<<4) # light black
(#808080)
,'1;31;0;47': (0x8+0x4 ) + ((0x8 )<<4) # light red
(on dark grey #808080)
,'1;32;0;47': (0x8+ 0x2 ) + ((0x8 )<<4) # light green
(on dark grey #808080)
,'1;33;0;47': (0x8+0x4+0x2 ) + ((0x8 )<<4) # light yellow
(on dark grey #808080)
,'1;34;0;47': (0x8+ 0x1) + ((0x8 )<<4) # light blue
(on dark grey #808080)
,'1;35;0;47': (0x8+0x4+ 0x1) + ((0x8 )<<4) # light purple
(on dark grey #808080)
,'1;36;0;47': (0x8+0x4+0x2 ) + ((0x8 )<<4) # light cyan
(on dark grey #808080)
,'1;37;0;47': (0x8+0x4+0x2+0x1) + ((0x8 )<<4) # light white
(on dark grey #808080)
# Foreground Background
# I , R , G , B I , R , G , B # Intensified,
Red, Green, Blue
,'0;30': ( 0x0) + (( 0x4+0x2+0x1)<<4) # (dark)black
(on light grey #C0C0C0)
,'0;31': ( 0x4 ) + (( 0x4+0x2+0x1)<<4) # (dark)red
(on light grey #C0C0C0)
,'0;32': ( 0x2 ) + (( 0x4+0x2+0x1)<<4) # (dark)green
(on light grey #C0C0C0)
,'0;33': ( 0x4+0x2 ) + (( 0x4+0x2+0x1)<<4) #
(dark)yellow(on light grey #C0C0C0)
,'0;34': ( 0x1) + (( 0x4+0x2+0x1)<<4) # (dark)blue
(on light grey #C0C0C0)
,'0;35': ( 0x4+ 0x1) + (( 0x4+0x2+0x1)<<4) #
(dark)purple(on light grey #C0C0C0)
,'0;36': ( 0x4+0x2 ) + (( 0x4+0x2+0x1)<<4) # (dark)cyan
(on light grey #C0C0C0)
,'0;37': ( 0x4+0x2+0x1) + (( 0x4+0x2+0x1)<<4) # (dark)white
(on light grey #C0C0C0)
# Foreground Background
# I , R , G , B I , R , G , B # Intensified,
Red, Green, Blue
,'1;30': (0x8 ) + (( 0x4+0x2+0x1)<<4) # light black
(on light grey #C0C0C0)
,'1;31': (0x8+0x4 ) + (( 0x4+0x2+0x1)<<4) # light red
(on light grey #C0C0C0)
,'1;32': (0x8+ 0x2 ) + (( 0x4+0x2+0x1)<<4) # light green
(on light grey #C0C0C0)
,'1;33': (0x8+0x4+0x2 ) + (( 0x4+0x2+0x1)<<4) # light
yellow(on light grey #C0C0C0)
,'1;34': (0x8+ 0x1) + (( 0x4+0x2+0x1)<<4) # light blue
(on light grey #C0C0C0)
,'1;35': (0x8+0x4+ 0x1) + (( 0x4+0x2+0x1)<<4) # light
purple(on light grey #C0C0C0)
,'1;36': (0x8+0x4+0x2 ) + (( 0x4+0x2+0x1)<<4) # light cyan
(on light grey #C0C0C0)
,'1;37': (0x8+0x4+0x2+0x1) + (( 0x4+0x2+0x1)<<4) # light white
(on light grey #C0C0C0)
}
 
G

Gary Bishop

Claudio Grondi said:
To get the coloured texts on a grey (instead of white) background
I have extended the Console.py to accept sequences as e.g.
"0;33;47" (see attachment)
have extended also the
def make_color_table(in_class):
in the ColorANSI.py of IPython
and adjusted the pyColorize.py file, but it had not the desired effect.
IPython seems not to be sending to Console.py the sequences
defined in the

The problem *may* be the way I insert the background color in
Console.py. I simply hacked it to OR the initial value into the colors
I get out of my table. If you want to have some colors with the
background set, then we'd need to work out a way to signal
that. Perhaps instead of or'ing in the value all the time, we should
insert the background value into the table entries that don't specify
the background.

I'm happy to see someone hacking on it. The source is all there and it
is all Python. The Win32 API stuff is ugly but well documented online.

If you change the "if 0:" up at the top of Console.py to "if 1:"
you'll get a file debug.txt with the contents of the various calls to
"log". That way you can "print" stuff from within console without
messing up the window.

gb
 
G

Gary Bishop

On SourceForge you will find release 1.12 of my Python readline
module. If you don't want to hack the colors, there is no reason to
upgrade from 1.11 to 1.12. They *should* work the same.

But if you'd like to hack the iPython colors this new version makes it
possible. In your ipythonrc file add a line like:

execfile hackcolors.py

Now in hackcolors.py you can change colors and backgrounds like this:

####hackcolors.py####
import readline

# reach deep into the bowels of readline to get the color table
escape_to_color = readline.rl.console.escape_to_color

# change a color
escape_to_color['0;32'] = 0x72

del escape_to_color
del readline

#################

The two hex digits are the background and foreground color
respectively. In the example above I'm setting the color to green on a
grey background. Here is the table that is normally used to translate
colors.

escape_to_color = { '0;30': 0x0, #black
'0;31': 0x4, #red
'0;32': 0x2, #green
'0;33': 0x4+0x2, #brown?
'0;34': 0x1, #blue
'0;35': 0x1+0x4, #purple
'0;36': 0x2+0x4, #cyan
'0;37': 0x1+0x2+0x4, #grey
'1;30': 0x1+0x2+0x4, #dark gray
'1;31': 0x4+0x8, #red
'1;32': 0x2+0x8, #light green
'1;33': 0x4+0x2+0x8, #yellow
'1;34': 0x1+0x8, #light blue
'1;35': 0x1+0x4+0x8, #light purple
'1;36': 0x1+0x2+0x8, #light cyan
'1;37': 0x1+0x2+0x4+0x8, #white
'0': None,
}

An interested party should be able to arbitrarily map colors and their
backgrounds.

Enjoy,
gb
 
K

km

Hi all,

Have u tried Colors0.1 module from python.org ?

KM
--------------------------------------------------------------------
Are you really using the readline module from newcenturycomputers ?
I've got a feeling that's broken and you need to use the Gary Bishop
one with IPython....

Sorry if this is spurious... (restricted internet access, so I can't
check for you... but the correct one is linked to from the IPython
site).

Regards,

Fuzzy
http://www.voidspace.org.uk/python/index.shtml

Claudio said:
Hi,

I have watched this thread hoping to get an
hint on my problem, but it seems I didn't.

My problem is, that the background of part of
the error messages is always black
(e.g. after typing In [1]: sdfsdf)
and my monitor failes to show the red, green
texts on black background clearly enough
to see it (I can read it after selection, which
inverts the colors).
I have tried to play with PyColorize.py,
LightBGColors = ColorScheme(
'LightBG',{
token.NUMBER : Colors.Cyan,
token.OP : Colors.Blue,
token.STRING : Colors.Blue,
tokenize.COMMENT : Colors.Red,
token.NAME : Colors.White, # Colors.Black,
token.ERRORTOKEN : Colors.Red,

_KEYWORD : Colors.Green,
_TEXT : Colors.Blue,

'normal' : Colors.White # Colors.Normal # color off (usu.
Colors.Normal)
}
but without success.
How can I get rid of the black background
"---------------------------------------------------------------------------
"
"exceptions.NameError" Traceback (most
recent call last)
in with quotation marks marked areas?
Where is the color of the background of this
areas defined?
The color scheme seems to handle only the
text colors, not the background.

Claudio

Ashot said:
yea, I've done that. It must be something subtle, as the colors and tab
completion works.
"Ashot" <[email protected]> said:



Ashot wrote:
I am using IPython in windows and the LightBG setting doesn't
correctly
because the background of the text is black even if the console
background
is white. Anyone know whats going on? Thanks.

--
==============================
Ashot Petrosian
University of Texas at Austin, Computer Sciences
(views expressed are solely my own)
==============================

Did you try installing readline for windows?
http://newcenturycomputers.net/projects/readline.html


yea I've installed that and ctypes. The color and tab completion work,
its just that colored get displayed with black background, it almost
works
so its very frustrating..


Did you try the following (from the manual)?:

Input/Output prompts and exception tracebacks


You can test whether the colored prompts and tracebacks work on your
system interactively by typing '%colors Linux' at the prompt (use
'%colors LightBG' if your terminal has a light background). If the input
prompt shows garbage like:
[0;32mIn [[1;32m1[0;32m]: [0;00m
instead of (in color) something like:
In [1]:
this means that your terminal doesn't properly handle color escape
sequences. You can go to a 'no color' mode by typing '%colors NoColor'.


You can try using a different terminal emulator program. To
permanently set your color preferences, edit the file
$HOME/.ipython/ipythonrc and set the colors option to the desired value.



--
==============================
Ashot Petrosian
University of Texas at Austin, Computer Sciences
(views expressed are solely my own)
==============================

--
 
C

Claudio Grondi

Hi,

I have done some more work on Console.py
from the readline package version 1.12, adding
support for background colors and testing of proper
function of them (run the Console.py script to
see coloured output).
Added was also the possibility to set the default
text/background colors for colored output using:
Console.setStandardBackgroundColorTo(strColor)
Console.setStandardForegroundColorTo(strColor)
where strColor can be one of:
[
'(dark)black'
,'(dark)red',
,'(dark)green'
,'(dark)yellow'
,'(dark)blue'
,'(dark)purple'
,'(dark)cyan'
,'(dark)white'
,'light black'
,'light red'
,'light green'
,'light yellow'
,'light blue'
,'light purple'
,'light cyan'
,'light white'
]

There are some comments added where e.g.
the colors are named including their HTML color
notation to clarify which colors are displayed.
I work on Windows 2000 SP 4, so it will be
interesting for me to get some feedback if the
colors are the same in other Windows versions.
Which colors are displayed on Linux/Unix by
the native readline?

There are also some other changes done to
make the code better readable (from my
personal point of view ;-)

The blnIPythonFixActive flag allows to set colored
text output of IPython to (dark)white background
(instead of the standard one, which is in my
Console the 'light white' one i.e. I work with white
background as IDLE does).

Another modification is, that when a text without
escape sequences is passed to Console.write(),
no escape sequences are sent, so, that the
colouring stays the same until it is explicitely
reset. I find this behaviour more strightforward
than the implicit writing of texts in the standard
colors if no colors are specified.

If someone is interested to check it out I have
uploaded it to:
http://people.freenet.de/AiTI-IT/Python/Console.py

The extended Console.py module can be used
standalone for writing of any coloured texts
to the console using alternatively .
Console.setStandardBackgroundColorTo(strColor)
Console.setStandardForegroundColorTo(strColor)
with resetting the colors
or the build-in ANSI escape sequences for the
text and the background.

Utilizing the code or some parts of it in
the next release of readline is welcome.

Claudio

Gary Bishop said:
On SourceForge you will find release 1.12 of my Python readline
module. If you don't want to hack the colors, there is no reason to
upgrade from 1.11 to 1.12. They *should* work the same.

But if you'd like to hack the iPython colors this new version makes it
possible. In your ipythonrc file add a line like:

execfile hackcolors.py

Now in hackcolors.py you can change colors and backgrounds like this:

####hackcolors.py####
import readline

# reach deep into the bowels of readline to get the color table
escape_to_color = readline.rl.console.escape_to_color

# change a color
escape_to_color['0;32'] = 0x72

del escape_to_color
del readline

#################

The two hex digits are the background and foreground color
respectively. In the example above I'm setting the color to green on a
grey background. Here is the table that is normally used to translate
colors.

escape_to_color = { '0;30': 0x0, #black
'0;31': 0x4, #red
'0;32': 0x2, #green
'0;33': 0x4+0x2, #brown?
'0;34': 0x1, #blue
'0;35': 0x1+0x4, #purple
'0;36': 0x2+0x4, #cyan
'0;37': 0x1+0x2+0x4, #grey
'1;30': 0x1+0x2+0x4, #dark gray
'1;31': 0x4+0x8, #red
'1;32': 0x2+0x8, #light green
'1;33': 0x4+0x2+0x8, #yellow
'1;34': 0x1+0x8, #light blue
'1;35': 0x1+0x4+0x8, #light purple
'1;36': 0x1+0x2+0x8, #light cyan
'1;37': 0x1+0x2+0x4+0x8, #white
'0': None,
}

An interested party should be able to arbitrarily map colors and their
backgrounds.

Enjoy,
gb
 
F

Fernando Perez

Claudio said:
It works for me as it is now, so probably it is better to wait for the
next release of IPython with a cleaner implementation of color
schemes before further efforts towards support for choosing
of background colors for each colorized text output in IPython
via extension of Console.py of the readline module.

Just to clarify something: there's essentially zero chance that the next ipython
version will provide for user-level color scheme customizations in a clean,
friendly way. I simply have more important improvements I need to work on,
with a very finite amount of time for it all. If you send me a patch, I'll be
delighted to include it, but otherwise this will take a back seat.

The main reason for this is that I'm starting to play with a rewrite of the
config file system, to move away from a special plain text format, into using
regular python files. This will bring multiple advantages, and once a true
python syntax is available to users, these kinds of changes can be allowed with
a far cleaner interface than the hacks required right now.

So for now, I'd suggest you live with the hacks, while a better, permanent
solution arrives. But don't expect that improvement right away.

Regards,

f
 
F

Fernando Perez

Claudio said:
Hi,

I have just updated previously announced
and uploaded to
http://people.freenet.de/AiTI-IT/Python/Console.py
version
of Console.py because I was not satisfied with
it (it didn't support arbitrary ANSI escape
sequences for setting text colors ...)

I'd suggest you post some of this info, once you hash out the details with Gary,
to the ipython-users list. I'm sure others there would appreciate your efforts
towards enhancing the functionality available to win32 users.

Best,

f
 
C

Claudio Grondi

Hi,

I have just updated previously announced
and uploaded to
http://people.freenet.de/AiTI-IT/Python/Console.py
version
of Console.py because I was not satisfied with
it (it didn't support arbitrary ANSI escape
sequences for setting text colors ...)

Now the Console() class supports ANSI escape
sequences of the form ESC[#m and ESC[#,#m ,
so it is possible to set any colors for text and
background via escape sequences.

Resetting the colors with ESC[0m will set
them back to initial(default) ones.

Now it is also possible to send a _sequence_
of ANSI escape sequences to Console.write().
e.g.
'\x1B[31m'
'\x1B[1m'
will cause later submitted text to be light red.

Running Console.py creates coloured
test output which can be checked for
integrity.

Any feedback is welcome.

Claudio

Claudio Grondi said:
Hi,

I have done some more work on Console.py
from the readline package version 1.12, adding
support for background colors and testing of proper
function of them (run the Console.py script to
see coloured output).
Added was also the possibility to set the default
text/background colors for colored output using:
Console.setStandardBackgroundColorTo(strColor)
Console.setStandardForegroundColorTo(strColor)
where strColor can be one of:
[
'(dark)black'
,'(dark)red',
,'(dark)green'
,'(dark)yellow'
,'(dark)blue'
,'(dark)purple'
,'(dark)cyan'
,'(dark)white'
,'light black'
,'light red'
,'light green'
,'light yellow'
,'light blue'
,'light purple'
,'light cyan'
,'light white'
]

There are some comments added where e.g.
the colors are named including their HTML color
notation to clarify which colors are displayed.
I work on Windows 2000 SP 4, so it will be
interesting for me to get some feedback if the
colors are the same in other Windows versions.
Which colors are displayed on Linux/Unix by
the native readline?

There are also some other changes done to
make the code better readable (from my
personal point of view ;-)

The blnIPythonFixActive flag allows to set colored
text output of IPython to (dark)white background
(instead of the standard one, which is in my
Console the 'light white' one i.e. I work with white
background as IDLE does).

Another modification is, that when a text without
escape sequences is passed to Console.write(),
no escape sequences are sent, so, that the
colouring stays the same until it is explicitely
reset. I find this behaviour more strightforward
than the implicit writing of texts in the standard
colors if no colors are specified.

If someone is interested to check it out I have
uploaded it to:
http://people.freenet.de/AiTI-IT/Python/Console.py

The extended Console.py module can be used
standalone for writing of any coloured texts
to the console using alternatively .
Console.setStandardBackgroundColorTo(strColor)
Console.setStandardForegroundColorTo(strColor)
with resetting the colors
or the build-in ANSI escape sequences for the
text and the background.

Utilizing the code or some parts of it in
the next release of readline is welcome.

Claudio

Gary Bishop said:
On SourceForge you will find release 1.12 of my Python readline
module. If you don't want to hack the colors, there is no reason to
upgrade from 1.11 to 1.12. They *should* work the same.

But if you'd like to hack the iPython colors this new version makes it
possible. In your ipythonrc file add a line like:

execfile hackcolors.py

Now in hackcolors.py you can change colors and backgrounds like this:

####hackcolors.py####
import readline

# reach deep into the bowels of readline to get the color table
escape_to_color = readline.rl.console.escape_to_color

# change a color
escape_to_color['0;32'] = 0x72

del escape_to_color
del readline

#################

The two hex digits are the background and foreground color
respectively. In the example above I'm setting the color to green on a
grey background. Here is the table that is normally used to translate
colors.

escape_to_color = { '0;30': 0x0, #black
'0;31': 0x4, #red
'0;32': 0x2, #green
'0;33': 0x4+0x2, #brown?
'0;34': 0x1, #blue
'0;35': 0x1+0x4, #purple
'0;36': 0x2+0x4, #cyan
'0;37': 0x1+0x2+0x4, #grey
'1;30': 0x1+0x2+0x4, #dark gray
'1;31': 0x4+0x8, #red
'1;32': 0x2+0x8, #light green
'1;33': 0x4+0x2+0x8, #yellow
'1;34': 0x1+0x8, #light blue
'1;35': 0x1+0x4+0x8, #light purple
'1;36': 0x1+0x2+0x8, #light cyan
'1;37': 0x1+0x2+0x4+0x8, #white
'0': None,
}

An interested party should be able to arbitrarily map colors and their
backgrounds.

Enjoy,
gb
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,219
Messages
2,571,117
Members
47,730
Latest member
scavoli

Latest Threads

Top