पृष्ठभूमि के रंग के आधार पर PS1 रंग बदलें?


12

मैंने सीखा कि मैं PS1 के प्रारूप को बदल सकता हूं, खासकर स्ट्रिंग का रंग। फिर, क्या शेल की पृष्ठभूमि के रंग के आधार पर रंग बदलना संभव है? या, मैं शेल के पृष्ठभूमि रंग का पता कैसे लगा सकता हूं?

जवाबों:


4

जहां तक ​​मुझे पता है, टर्मिनल एमुलेटर के रंगों को क्वेरी करने का कोई तरीका नहीं है। यदि आप अपने टर्मिनल को उस अनुक्रम (संदर्भ: ctlseqs ) का समर्थन करते हैं, तो आप उन्हें बदल सकते हैं \e]4;NUMBER;#RRGGBB\a(जहां NUMBERहल्के रंगों के लिए (0-7 हल्के रंगों के लिए, 8-15 चमकीले रंगों के लिए ) है।#RRGGBB

पावरफुल कलर स्कीम मेकेनिज्म में अक्सर एक डार्क या लाइट बैकग्राउंड सेटिंग होती है, जिसे आपको यह बताने के लिए सप्लाई करना होगा कि आपके पास एक ब्लैक या डार्क ग्रे बैकग्राउंड है, या एक व्हाइट या लाइट ग्रे बैकग्राउंड।

जब आप अपने लिए कॉन्फ़िगर कर रहे हैं, तो यह आमतौर पर यह तय करने के लिए पर्याप्त है कि आप हमेशा एक ही पृष्ठभूमि रंग का उपयोग करेंगे।


आप "tput रंगों" को देखकर टर्मकैप प्रविष्टि में रंगों की समर्थित संख्या प्राप्त कर सकते हैं, लेकिन कई मामलों में कम संख्या कहेंगे, जैसे 8, क्योंकि 256-रंग के टर्मिनलों के लिए समर्थन का समर्थन वास्तव में कमजोर है।
स्लैस

1
आज के 99% टर्मिनलों के लिए @slacy, termcap / termfo डेटा अप्रासंगिक है: वे xterm के सभी छोटे रूपांतर हैं, और विवरण जो अलग-अलग हैं, जैसे कि रंगों की संख्या, के मूल्य में परिलक्षित नहीं होते हैं TERMऔर इसलिए ऐसा नहीं कर सकते हैं। पर्यावरण से प्राप्त किया।
गिल्स एसओ- बुराई को रोकना '

4

यदि आप सूक्ति-टर्मिनल का उपयोग कर रहे हैं, तो आप किसी भी प्रोफ़ाइल के लिए पृष्ठभूमि रंग प्राप्त कर सकते हैं, इस मामले में डिफ़ॉल्ट प्रोफ़ाइल के रूप में

   $ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
   #E12FE12FC74D

फिर आप यह तय कर सकते हैं कि अपने संकेत को कैसे निर्धारित किया जाए।


2

एक्सटर्म के साथ, आप \e]11;?\aएस्केप सीक्वेंस के साथ बैकग्राउंड कलर को क्वेरी कर सकते हैं। आपको टर्मिनल से प्रतिक्रिया पढ़ने की आवश्यकता है। एक xtermcontrolआदेश है जो आपके लिए करता है:

~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0

यही बात गनोम-टर्मिनल और शायद कुछ अन्य टर्मिनल एमुलेटरों में भी काम करती है (लेकिन निश्चित रूप से उन सभी में नहीं)।
इग्मोंट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.