2010-07-08 39 views
7

Tôi dường như không thể chuyển sang màu trắng khi làm việc trong các lời nguyền khi ở chế độ màu. Nếu tôi không gọi số start_color, tôi sẽ bị trắng đen. Ngay sau khi tôi gọi start_color, mọi thứ bắt đầu xuất hiện bằng màu xám-đen.ncurses và trắng-trên-đen

Nếu bạn chạy kịch bản này:

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

... có thể bạn sẽ nhìn thấy rất nhiều màu sắc đẹp. Người tôi muốn, và không thể có được, là dòng cuối cùng: '... và điều này là bình thường.' Yêu cầu cặp màu 0 hoặc yêu cầu COLOR_WHITE, COLOR_BLACK đưa cho tôi số 37 không sáng từ tập lệnh.

Để tham khảo, đây là những gì tôi thấy trong Gnome Terminal:

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

Tôi lập trình bằng Python (sử dụng thư viện lời nguyền), do đó, mã của tôi là một cái gì đó như:

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

... giúp tôi 37, 37 sáng và 37.

Trả lời

1

Thiết bị đầu cuối gnome của bạn có thể có bảng màu riêng, thay đổi màu của mặc định trắng sang trắng sáng, trừ khi ở chế độ nguyền rủa. Kiểm tra xem gnome-terminal không thay đổi màu sắc, bởi vì điều này sẽ làm cho việc kiểm tra các màu khó khăn.

+0

Điều này sẽ làm cho thử nghiệm dễ dàng hơn, có vẻ như vậy. Tôi muốn xuất ra văn bản "bình thường": Nếu Gnome phân biệt nó với màu sắc, điều đó sẽ làm cho nó dễ dàng hơn để kiểm tra. – Thanatos

+0

Hầu như chắc chắn sử dụng use_default_colors() sẽ không giải quyết vấn đề ở trên và nhiều khả năng cấu hình màu của thiết bị đầu cuối có màu trắng/đen/vv được ánh xạ tới các giá trị không bình thường như được mô tả trong câu trả lời này! cảm ơn! – Doug

+0

Tôi đang sử dụng gnome-terminal với một bảng màu khác và 'use_default_colors()' ** đã ** sửa lỗi của tôi – mattgately

0

Tôi cũng đang sử dụng thiết bị đầu cuối gnome với cùng một vấn đề.

tôi quản lý để giải quyết nó với:

nhấp chuột phải vào màn hình> Cấu hình> tuỳ chọn hồ sơ> màu> bảng

Tôi nghĩ rằng đây là những gì mỗi người trong số 8 màu sắc sẽ ánh xạ.

vì một số lý do, sơ đồ tích hợp Default đã được chọn ánh xạ màu đầu tiên thành màu xám thay vì màu đen!

thay đổi lược đồ thành XTerm hoặc thay đổi màu đầu tiên thành đen đã giải quyết được sự cố của tôi.

Tôi không sử dụng curses.use_default_colors.

Các vấn đề liên quan