我想知道是否有任何方法可以确定终端的背景色?
就我而言,使用gnome-terminal。
这可能很重要,因为要完全由终端应用程序来绘制其窗口的背景,这甚至可能不是纯色。
最佳答案
我想出了以下几点:
#!/bin/sh
#
# Query a property from the terminal, e.g. background color.
#
# XTerm Operating System Commands
# "ESC ] Ps;Pt ST"
oldstty=$(stty -g)
# What to query?
# 11: text background
Ps=${1:-11}
stty raw -echo min 0 time 0
# stty raw -echo min 0 time 1
printf "\033]$Ps;?\033\\"
# xterm needs the sleep (or "time 1", but that is 1/10th second).
sleep 0.00000001
read -r answer
# echo $answer | cat -A
result=${answer#*;}
stty $oldstty
# Remove escape at the end.
echo $result | sed 's/[^rgb:0-9a-f/]\+$//'
来源/回购/要旨:https://gist.github.com/blueyed/c8470c2aad3381c33ea3
关于unix - 如何确定终端的背景色?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2507337/