'normal' shell with curses
Thynnus
thynnus at gNOTmail.com
Tue Mar 4 15:29:13 EST 2008
On 3/4/2008 12:05 PM, Michael Goerz wrote:
> Thynnus wrote, on 03/04/2008 08:48 AM:
>> On 3/3/2008 9:57 PM, Michael Goerz wrote:
>>> Hi,
>>>
>>> I'm trying to print out text in color. As far as I know, curses is the
>>> only way to do that (or not?). So, what I ultimately want is a curses
>>> terminal that behaves as closely as possible as a normal terminal,
>>> i.e. it breaks lines and scrolls automatically, so that I can
>>> implement a function myprint(color, text) that does what print() does,
>>> only in color.
>>
>> You might find the below helpful. Let us know how you make out?
>>
>> --------
>>
>> Python Cookbook
>> http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/475116
>>
>> Title:
>> Using terminfo for portable color output & cursor control
>>
>> Description:
>> The curses module defines several functions (based on terminfo) that can
>> be used to perform lightweight cursor control & output formatting
>> (color, bold, etc). These can be used without invoking curses mode
>> (curses.initwin) or using any of the more heavy-weight curses
>> functionality. This recipe defines a TerminalController class, which can
>> make portable output formatting very simple. Formatting modes that are
>> not supported by the terminal are simply omitted.
>>
>> --------
>>
>
> That looks *extremely* interesting. From a very brief test, it seems to
> do exactly what I want!
>
> Now, Windows seems very problematic for color output. I was using the
> following as a test, based on the above recipe:
>
> term = TerminalController()
> while True:
> print term.render('${YELLOW}Warning:${NORMAL}'), 'paper is crinkled'
> print term.render('${RED}Error:${NORMAL}'), 'paper is ripped'
>
> On Linux, it works fine, on Windows, it just prints white on black
> (which is of course what it should do if the terminal doesn't support
> color). Can anyone get the Windows cmd.exe terminal to do color? I
> already tried to add device=%SystemRoot%\system32\ansi.sys to config.nt,
> but that doesn't seem to do anything (neither in what I tried yesterday
> with the ANSI escape codes, nor with the recipe code now). I also very
> briefly tried running it on the winbash shell
> (http://win-bash.sourceforge.net/), it didn't have any color either...
> So, any way to get color in Windows?
>
> Michael
ipython - http://ipython.scipy.org/ - does a colored Windows interpreter, clue
there.
More information about the Python-list
mailing list