การเข้าถึงแบบโปรแกรมสี xterm ปัจจุบัน


1

ในหัวข้อด้านล่าง

การเข้าถึงแบบโปรแกรมสีพื้นหลัง xterm ปัจจุบัน?

Alex North-Keys จัดเตรียมสคริปต์ทุบตีที่มีประโยชน์ซึ่งจะคืนค่าสีพื้นหลังของ xterm ปัจจุบัน ฉันต้องการใช้ผลลัพธ์ของสคริปต์นี้เพื่อรีเซ็ตสีพื้นหลังหลังจากที่มีการเปลี่ยนแปลง (เช่นหลังจากเข้าสู่ระบบระยะไกล)

ตัวอย่างเช่นสคริปต์ของเขาอาจกลับมาเหมือน

rgb:e0e0/ffff/ffff

น่าเสียดายที่ลำดับ escape ที่ฉันใช้เพื่อตั้งค่าสีพื้นหลัง

echo -ne "\033]11;!*\007"

ดูเหมือนว่าจะทำงานเฉพาะในกรณีที่ฉันป้อนสีที่มีชื่อเช่นงาช้าง

มีวิธีการแก้ไขคำสั่งนี้เพื่อที่จะใช้เป็นอาร์กิวเมนต์เช่น e0e0 / ffff / ffff?

ขอบคุณ!


" !* "ดูแปลกเพราะไม่มีการควบคุมที่เกี่ยวข้องมีคู่นั้น
Thomas Dickey

ใช่ว่าดูเหมือนแปลก และหมายเลขสีที่ใช้ไม่ใช่ฐานแปด (เช่น \007 เอาแต่ใจ ดูที่หน้าเหล่านี้: wiki.archlinux.org/index.php/Color_Bash_Prompt และ tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html สำหรับชื่อสีที่ถูกต้อง
jcoppens

ขออภัยฉันวางสำเนาคำสั่ง alias ของฉัน นี่คือตัวอย่างของวิธีที่ฉันใช้: echo -ne "\ 033] 11; ivory \ 007" ซึ่งเปลี่ยนสีพื้นหลังเป็นสีงาช้าง ฉันต้องการแทนที่ชื่ออย่างงาช้างด้วยรหัสสีของแบบฟอร์ม e0e0 / ffff / ffff
Leo Simon

1
เมื่อฉันอ่านสคริปต์ของเขาดูเหมือนว่าทุกอย่างที่ทำได้คือดึงการตอบสนองจาก xterm ดังนั้นคำนำหน้า rgb: จำเป็นถ้าสคริปต์ของคุณจะให้ค่า RGB มากกว่าชื่อ xterm ใช้ XParseColorซึ่งมีเอกสารที่คลุมเครือเกี่ยวกับ "ชื่อ"
Thomas Dickey

สัญกรณ์ "มาตรฐาน" #rrggbb (ไม่มี rgb: ส่วนนำหน้า) ใช้งานได้เช่น "\ 003] 11; # e0ffff \ 007"
egmont
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.