Display xterm color palette
bash xterm-palette.sh
- will show you number of max colors availablebash xterm-palette.sh -v
- will create a list of all colors with codes
#!/usr/bin/env bash
# xterm-palette.sh
trap 'tput sgr0' exit # Clean up even if user hits ^C
function setfg () {
printf '\e[38;5;%dm' $1
}
function setbg () {
printf '\e[48;5;%dm' $1
}
function showcolors() {
# Given an integer, display that many colors
for ((i=0; i<$1; i++))
do
printf '%4d ' $i
setbg $i
tput el
tput sgr0
echo
done
tput sgr0 el
}
# First, test if terminal supports OSC 4 at all.
printf '\e]4;%d;?\a' 0
read -d $'\a' -s -t 0.1 </dev/tty
if [ -z "$REPLY" ]
then
# OSC 4 not supported, so we'll fall back to terminfo
max=$(tput colors)
else
# OSC 4 is supported, so use it for a binary search
min=0
max=256
while [[ $((min+1)) -lt $max ]]
do
i=$(( (min+max)/2 ))
printf '\e]4;%d;?\a' $i
read -d $'\a' -s -t 0.1 </dev/tty
if [ -z "$REPLY" ]
then
max=$i
else
min=$i
fi
done
fi
# If -v is given, show all the colors
case ${1-none} in
none)
echo $max
;;
-v)
showcolors $max
;;
*)
if [[ "$1" -gt 0 ]]; then
showcolors $1
else
echo $max
fi
;;
esac | less --raw-control-chars --QUIT-AT-EOF --no-init
Other notes
- Set color temperature of displays on i3
- #cat-v on weechat configuration
- plan9 Drawing Pixels in Plan9
- Easy measure time took in a bash script
- Cache busting in Hugo
- plan9 Run 9front in Qemu
- Fix screen tearing on Debian 12 Xorg and i3
- Grep to Less that maintain colors
- Download list of YouTube files
- Parse RSS feeds with Lua
- Convert all MKV files into other formats
- plan9 My brand new Plan9/9front desktop
- 10/GUI 10 Finger Multitouch User Interface
- Push to multiple origins at once in Git
- dcss Dungeon Crawl Stone Soup - New player guide