mirror of https://github.com/zoomiti/dotfiles.git
36 lines
864 B
Bash
36 lines
864 B
Bash
#!/usr/bin/env bash
|
|
# Generates an alacritty color config from currently loaded X resources.
|
|
|
|
xrdb_grep() {
|
|
xrdb -query | grep -E '^\*'"$1"':'
|
|
}
|
|
|
|
color_from_line() {
|
|
read -r line && readonly line
|
|
echo "${line/\#/0x}" | tr -d '[:space:]' | cut -d ':' -f 2
|
|
}
|
|
|
|
readonly color_idx=(black red green yellow blue magenta cyan white)
|
|
|
|
# Begin to print alacritty config.
|
|
printf 'colors:\n'
|
|
|
|
printf ' primary:\n'
|
|
|
|
printf ' background:\t%s\n' "$(xrdb_grep 'background' | color_from_line)"
|
|
printf ' foreground:\t%s\n' "$(xrdb_grep 'foreground' | color_from_line)"
|
|
|
|
printf ' normal:\n'
|
|
declare -i i=0
|
|
while read -r line; do
|
|
if [[ $i == 8 ]]; then
|
|
printf ' bright:\n'
|
|
fi
|
|
|
|
printf ' %s:\t%s\n' \
|
|
"${color_idx[((i % 8))]}" \
|
|
"$(echo "$line" | color_from_line)"
|
|
|
|
i+=1
|
|
done < <(xrdb_grep 'color[[:digit:]]+' | sort -V)
|