2010-03-08 18 views
8

मेरे कंसोल में पारदर्शिता सक्षम है, जब मैं अन्य ncurses ऐप्स चलाता हूं, तो मुझे लगता है कि पृष्ठभूमि पारदर्शी रहती है। मैं अपने ऐप को पारदर्शिता रखने और अंधेरे काले अपारदर्शी पृष्ठभूमि को लागू करने की कोशिश नहीं कर रहा हूं।ncurses पारदर्शी कंसोल पृष्ठभूमि

यह वही है मैं अब तक

start_color(); 
init_pair(1, COLOR_GREEN, COLOR_BLACK); 

attron(COLOR_PAIR(1)); 
mvprintw(10,10, "Hello"); 

refresh(); 
attroff(COLOR_PAIR(1)); 

कोई भी विचार कर रहा हूँ है?

धन्यवाद

+6

निर्धारित: use_default_colors(); – Josh

+0

अपने स्वयं के प्रश्न का उत्तर देने की अनुमति है और प्रोत्साहित किया जाता है। आप इसे से कुछ प्रतिनिधि भी प्राप्त कर सकते हैं। –

+0

दोबारा दोहराया गया ताकि इसका सही उत्तर दिया जा सके। –

उत्तर

2

आपके आवेदन कॉल करता है use_default_colors, ncurses (और NetBSD curses) ECMA-48 SGR 39 और 49 "डिफ़ॉल्ट रंग" के आधार पर एक विस्तार प्रदान करते हैं। जब आप ऐसा करते हैं, तो ncurses स्पष्ट रूप से रंगीन कोशिकाओं से बचना है जिनके अग्रभूमि और/या पृष्ठभूमि रंग टर्मिनल रंगों के बारे में अपनी धारणा से मेल खाते हैं।

एक अतिरिक्त फ़ंक्शन assume_default_colors है जिसका उपयोग डिफ़ॉल्ट रंग की सुविधा में सुधार करने के लिए किया जा सकता है जहां टर्मिनल (उदाहरण के लिए) एक सफेद पृष्ठभूमि पर काले पाठ का उपयोग कर रहा है।

आपके द्वारा उपयोग किए जाने वाले अधिकांश रंग-सक्षम टर्मिनल एसजीआर 39/49 कोड का समर्थन करते हैं, इसलिए सुविधा का अधिकांश समय उपयोग किया जा सकता है।

अतिरिक्त पठन:

संबंधित मुद्दे