ฉันเรียนรู้ว่าฉันสามารถเปลี่ยนรูปแบบของ PS1 ได้โดยเฉพาะสีของสตริง จากนั้นเป็นไปได้หรือไม่ที่จะเปลี่ยนสีตามสีพื้นหลังของเปลือกหอย? หรือฉันจะตรวจจับสีพื้นหลังของเปลือกได้อย่างไร
ฉันเรียนรู้ว่าฉันสามารถเปลี่ยนรูปแบบของ PS1 ได้โดยเฉพาะสีของสตริง จากนั้นเป็นไปได้หรือไม่ที่จะเปลี่ยนสีตามสีพื้นหลังของเปลือกหอย? หรือฉันจะตรวจจับสีพื้นหลังของเปลือกได้อย่างไร
คำตอบ:
เท่าที่ฉันรู้ไม่มีวิธีสอบถามสีของเทอร์มินัลอีมูเลเตอร์ คุณสามารถเปลี่ยนได้ด้วย\e]4;NUMBER;#RRGGBB\a(โดยที่NUMBERหมายเลขสีเทอร์มินัล (0–7 สำหรับสีอ่อน 8–15 สำหรับสีสว่าง) และ#RRGGBBเป็นค่าสีฐานสิบหก RGB) หากเทอร์มินัลของคุณรองรับลำดับนั้น (อ้างอิง: ctlseqs )
กลไกโครงร่างสีที่มีประสิทธิภาพมักจะมีการตั้งค่าพื้นหลังสีเข้มหรือสีอ่อนที่คุณต้องระบุเพื่อระบุว่าคุณมีพื้นหลังสีดำหรือสีเทาเข้มหรือพื้นหลังสีขาวหรือสีเทาอ่อน
เมื่อคุณกำหนดค่าเองก็มักจะเพียงพอที่จะตัดสินใจว่าคุณจะใช้สีพื้นหลังเดียวกันเสมอ
TERMสิ่งนั้น ที่ได้รับจากสภาพแวดล้อม
                    หากคุณใช้ gnome-terminal คุณสามารถรับสีพื้นหลังสำหรับโปรไฟล์ใด ๆ ในกรณีนี้สำหรับโปรไฟล์เริ่มต้นเป็น
   $ gconftool-2 --get /apps/gnome-terminal/profiles/Default/background_color
   #E12FE12FC74D
จากนั้นคุณสามารถตัดสินใจว่าจะตั้งค่าพรอมต์ของคุณอย่างไร
ด้วย xterm คุณสามารถสืบค้นสีพื้นหลังด้วย\e]11;?\aลำดับ escape คุณต้องอ่านคำตอบจากเครื่อง มีxtermcontrolคำสั่งที่ทำเพื่อคุณ:
~$ xtermcontrol --get-bg
rgb:b0b0/b0b0/b0b0