2010-07-08 27 views
7

Parece que no puedo ver el blanco sobre negro para trabajar en las maldiciones cuando estoy en modo de color. Si no llamo al start_color, me pongo blanco sobre negro. Tan pronto como llamo al start_color, las cosas empiezan a salir en gris sobre negro.ncurses y blanco sobre negro

Si ejecuta este script:

import sys 

for i in xrange(30, 38): 
    print '\x1b[0;' + str(i) + 'm' + str(i) + ': Shiny colors \x1b[1m(bright)' 
print '\x1b[0m...and this is normal.' 

... es probable que vea un montón de colores bonitos. El que quiero, y no puedo obtener, es la última línea: '... y esto es normal'. Pidiendo el par de colores 0 o pidiendo COLOR_WHITE, COLOR_BLACK me da el # 37 no brillante del guión.

Como referencia, esto es lo que veo en Gnome Terminal:

http://rpi.edu/~wellir/random/colors.png

estoy programando en Python (usando la biblioteca maldiciones), por lo que mi código es algo como:

import curses 

screen = curses.initscr() 
curses.start_color() 
curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLACK) 
screen.clear() 
screen.attrset(0) 
screen.addstr('Hello') 
screen.attrset(curses.A_BOLD) 
screen.addstr('Hello') 
screen.attrset(curses.color_pair(1)) 
screen.addstr('Hello') 
screen.refresh() 
curses.napms(5000) 
curses.endwin() 

... que me da 37, 37-bright, y 37.

Respuesta

1

Su terminal gnome puede tener su propio esquema de color, que cambia los colores del predeterminado blanco a blanco brillante, excepto cuando está en el modo de maldiciones. Compruebe que gnome-terminal no cambie los colores, ya que esto dificultaría la prueba de los colores.

+0

Esto haría las pruebas más fáciles, al parecer. Quiero mostrar ese texto "normal": si Gnome lo diferencia con color, eso haría que todo fuera más fácil de probar. – Thanatos

+0

Casi con certeza el uso de use_default_colors() no resolverá el problema anterior y es mucho más probable que el perfil de color del terminal tenga correlaciones entre blanco/negro/etc., a valores no normales, como se describe en esta respuesta. ¡Gracias! – Doug

+0

Estoy usando gnome-terminal con un esquema de color diferente, y 'use_default_colors()' ** no ** solucionó mi problema – mattgately

0

yo estaba en la terminal de GNOME también con el mismo problema.

me las arreglé para solucionarlo con:

botón derecho del ratón en la pantalla> perfil> preferencias de perfil> Color> paleta

Creo que esto es lo que cada uno de los 8 colores se asignarán a.

por algún motivo, el esquema integrado Default que se seleccionó asignó el primer color a gris en lugar de negro.

cambiando el esquema a XTerm, o cambiando el primer color a negro resolvió mi problema.

No estoy usando curses.use_default_colors.

Cuestiones relacionadas