जवाबों:
थॉमस डिकी (xterm के अनुचर) के ईमेल वापस आ गए हैं। विशेष रूप से भाग के बारे में ध्यान दें ?
। Ps = 4
को संदर्भित करता है OSC Ps ; Pt ST
, जहां OSC
( "ऑपरेटिंग सिस्टम नियंत्रण" उपसर्ग) है ESC ]
और ST
( "स्ट्रिंग टर्मिनेटर" प्रत्यय) है \
(बैकस्लैश)। 4
ओएससी के लिए संभव subcommands से एक है।
पूरे पैलेट के लिए, जिसे 88/256 रंग एक्सटेंशन का उपयोग करके सेट / पुनर्प्राप्त किया जा सकता है। Ctlseqs.txt में, इसे यहाँ संक्षेप में प्रस्तुत किया गया है:
Ps = 4 ; c ; spec -> Change Color Number c to the color specified by spec. This can be a name or RGB specification as per XParseColor. Any number of c/spec pairs may be given. The color numbers correspond to the ANSI colors 0-7, their bright versions 8-15, and if supported, the remainder of the 88-color or 256-color table. If a "?" is given rather than a name or RGB specification, xterm replies with a control sequence of the same form which can be used to set the corresponding color. Because more than one pair of color number and specification can be given in one control sequence, xterm can make more than one reply.
डॉक्स में थोड़ा बाद में अधिक OSC उप Ps = 10
-क्षेत्र हैं Ps = 11
, और अन्य।
Ps = 1 0 -> Change VT100 text foreground color to Pt. Ps = 1 1 -> Change VT100 text background color to Pt.
उदाहरण - यह Ps = "11"
(केवल ऊपर से) पृष्ठभूमि का उपयोग कर पूछताछ करता है और Pt = "?"
प्लग इन किया जाता है OSC Ps ; Pt ST
। गूंज में, \033
भागने के लिए, और \\
अंतिम बैकस्लैश के लिए उपयोग किया जा रहा है ।
echo -en "\033]11;?\033\\"
आउटपुट:
^[]11;rgb:0000/0000/0000^[\
चेतावनी: लौटा हुआ रंग प्रतिबिंबित नहीं करता है कि रिवर्स वीडियो, जैसे -rv
, सक्षम है, और ~ 260 रंगों के माध्यम से क्रॉलिंग उपलब्ध OSC 4 ; c ; ? ST
है जो किसी भी तरह से नहीं दिखाता है कि दोनों पृष्ठभूमि का पालन करें और रिवर्स वीडियो के साथ बदलें। चूंकि कई उपयोगकर्ता बस का उपयोग करके एक अंधेरे पृष्ठभूमि को सेट करते हैं xterm -rv
, यह यह निर्धारित करता है कि पृष्ठभूमि वास्तव में अंधेरा है या नहीं। अधिकांश रंग या तो समायोजित नहीं होते हैं-rv
।
पूर्ण क्वेरी करने के लिए एक स्क्रिप्ट और वास्तव में xterm से उत्तर पर कब्जा:
#!/bin/bash
success=false
exec < /dev/tty
oldstty=$(stty -g)
stty raw -echo min 0
col=11 # background
# OSC Ps ;Pt ST
echo -en "\033]${col};?\033\\" >/dev/tty # echo opts differ w/ OSes
result=
if IFS=';' read -r -d '\' color ; then
result=$(echo $color | sed 's/^.*\;//;s/[^rgb:0-9a-f/]//g')
success=true
fi
stty $oldstty
echo $result
$success
एक प्रकार का
सेटिंग को अपनी ~ / .Xdefaults फ़ाइल में डालें:
xterm*foreground: blue
xterm*background: white
अपने शेल में आप सिर्फ मूल्यों को टटोलते हैं:
awk '/xterm\*foreground:(.*)/ { print $2 }' < .Xdefaults
अन्यथा एक्सटरम के कुछ आंतरिक मूल्यों को प्राप्त करना बहुत कठिन है।
वास्तव में मुझे लगता है कि आप यह चाहते हैं:
% xrdb -query
यह आपके लिए सेटिंग्स को सूचीबद्ध करेगा। यह सभी देखें:
http://docstore.mik.ua/orelly/unix3/upt/ch06_08.htm
रनटाइम को संशोधित करने के लिए, उपयोग करें:
% echo "some*setting: somevalue" | xrdb -merge
-query
सभी संसाधनों को सूचीबद्ध करता है। संसाधन निर्दिष्ट करना मेरे ubuntu पर काम नहीं करता है।
xrdb -query
बस आपको सभी संसाधनों की सूची प्रदान कर दे .. जिसे आपको अग्रभूमि में लाने के लिए फिर से जाग / grep करना होगा। और जो मैंने पहले ही स्वीकार किया था, वह है। xrdb -merge
यहाँ पूरी तरह से ऑफॉपिक है coz OP xresources को संशोधित नहीं करना चाहता है लेकिन बैशप्रॉप्ट की उपस्थिति है।