2010-07-08 35 views
7

Ich kann nicht scheinen, weiß-auf-schwarz, um in Flüchen zu arbeiten, wenn im Farbmodus. Wenn ich nicht start_color anrufe, bekomme ich Weiß-auf-Schwarz. Sobald ich start_color rufe, beginnt die Ausgabe in Grau-auf-Schwarz.ncurses und weiß-auf-schwarz

Wenn Sie dieses Skript ausführen:

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.' 

... Sie werden wahrscheinlich viele schöne Farben sehen. Der eine, den ich will und nicht bekommen kann, ist die letzte Zeile: "... und das ist normal." Wenn ich nach Farbpaar 0 frage oder nach COLOR_WHITE frage, erhält COLOR_BLACK die nicht helle # 37 aus dem Skript.

Als Referenz ist das, was ich in Gnome-Terminal sehen:

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

Ich bin Programmierung in Python (die Flüche-Bibliothek), so ist mein Code so etwas wie:

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() 

... das bringt mir 37, 37-hell, und 37.

Antwort

1

Ihr Gnome-Terminal kann ein eigenes Farbschema haben, das die Farben des Standards ändert weiß bis leuchtend weiß, außer im Fluchmodus. Überprüfen Sie, dass gnome-terminal die Farben nicht ändert, da dies das Testen der Farben erschweren würde.

+0

Dies würde Tests erleichtern, so scheint es. Ich möchte diesen "normalen" Text ausgeben: Wenn Gnome es mit Farbe unterscheidet, würde es das Ganze leichter machen zu testen. – Thanatos

+0

Fast sicher mit use_default_colors() wird das Problem nicht lösen und viel wahrscheinlicher ist das Farbprofil des Terminals weiß/schwarz/etc. auf nicht-normale Werte wie in dieser Antwort beschrieben zugeordnet! Vielen Dank! – Doug

+0

Ich benutze gnome-terminal mit einem anderen Farbschema, und 'use_default_colors()' ** hat ** mein Problem behoben – mattgately

0

Ich war auf dem GNOME-Terminal auch mit dem gleichen Problem.

habe ich es geschafft, es zu lösen mit:

rechts auf dem Bildschirm klicken> Profil> Profileinstellungen> Farbe> Palette

Ich denke, das ist das, was jeder der 8 Farben abbildet.

aus irgendeinem Grund wurde das integrierte Schema Default, das ausgewählt wurde, die erste Farbe grau statt schwarz zugeordnet!

Ändern des Schemas zu XTerm, oder Ändern der ersten Farbe in Schwarz löste mein Problem.

Ich verwende nicht curses.use_default_colors.