Merge pull request #96 from dylanaraps/auto_colors
Changes to text and ascii color handling
This commit is contained in:
commit
5a840d8886
10
README.md
10
README.md
|
@ -252,14 +252,8 @@ alias fetch2="fetch \
|
|||
--birthday_time on/off Enable/Disable showing the time in birthday output
|
||||
|
||||
Text Colors:
|
||||
--text_color_auto on/off When set to 'on' and you're in ascii mode, the text
|
||||
will be colored according to your distro's ascii logo.
|
||||
--title_color num Change the color of the title
|
||||
--at_color num Change the color of "@" in title
|
||||
--subtitle_color num Change the color of the subtitle
|
||||
--colon_color num Change the color of the colons
|
||||
--underline_color num Change the color of the underlines
|
||||
--info_color num Change the color of the info
|
||||
--colors x x x x x x Changes the text colors in this order:
|
||||
title, @, underline, subtitle, colon, info
|
||||
|
||||
Text Formatting:
|
||||
--underline_char char Character to use when underlineing title
|
||||
|
|
|
@ -179,30 +179,12 @@ block_width=3
|
|||
# Text Colors {{{
|
||||
|
||||
|
||||
# When this is set to 'on' and you're in
|
||||
# ascii image mode, the text will be colored
|
||||
# according to your distro's ascii logo.
|
||||
# --text_color_auto on / off
|
||||
text_color_auto="on"
|
||||
|
||||
# --title_color num
|
||||
title_color=4
|
||||
|
||||
# Color of "@" symbol in title
|
||||
# --at_color num
|
||||
at_color=6
|
||||
|
||||
# --subtitle_color num
|
||||
subtitle_color=1
|
||||
|
||||
# --colon_color num
|
||||
colon_color=8
|
||||
|
||||
# --underline_color num
|
||||
underline_color=8
|
||||
|
||||
# --info_color num
|
||||
info_color=6
|
||||
# Text Colors
|
||||
# Each number represents a different part of
|
||||
# the text in this order:
|
||||
# title, @, underline, subtitle, colon, info
|
||||
# colors=(4 6 1 8 8 6)
|
||||
colors=(distro)
|
||||
|
||||
|
||||
# }}}
|
||||
|
|
365
fetch
365
fetch
|
@ -197,30 +197,12 @@ block_width=3
|
|||
# Text Colors {{{
|
||||
|
||||
|
||||
# When this is set to 'on' and you're in
|
||||
# ascii image mode, the text will be colored
|
||||
# according to your distro's ascii logo.
|
||||
# --text_color_auto on / off
|
||||
text_color_auto="on"
|
||||
|
||||
# --title_color num
|
||||
title_color=4
|
||||
|
||||
# Color of "@" symbol in title
|
||||
# --at_color num
|
||||
at_color=6
|
||||
|
||||
# --subtitle_color num
|
||||
subtitle_color=1
|
||||
|
||||
# --colon_color num
|
||||
colon_color=8
|
||||
|
||||
# --underline_color num
|
||||
underline_color=8
|
||||
|
||||
# --info_color num
|
||||
info_color=6
|
||||
# Text Colors
|
||||
# Each number represents a different part of
|
||||
# the text in this order:
|
||||
# title, @, underline, subtitle, colon, info
|
||||
# colors=(4 6 1 8 8 6)
|
||||
colors=(distro)
|
||||
|
||||
|
||||
# }}}
|
||||
|
@ -1616,125 +1598,6 @@ getwallpaper () {
|
|||
# Ascii {{{
|
||||
|
||||
getascii () {
|
||||
# Change color of logo based on distro
|
||||
case "$ascii_distro" in
|
||||
"Arch Linux"* | "Antergos"*)
|
||||
ascii_colors 6 4
|
||||
;;
|
||||
|
||||
"CentOS"*)
|
||||
ascii_colors 3 2 4 5 7
|
||||
;;
|
||||
|
||||
"CRUX"* | "Chakra"* | "gNewSense"* | "SailfishOS"*)
|
||||
ascii_colors 4 5 7
|
||||
;;
|
||||
|
||||
"Chrom"*)
|
||||
ascii_colors 2 1 3 4 7
|
||||
ascii_distro="chrome"
|
||||
;;
|
||||
|
||||
"Debian"* | "FreeBSD"* | "Elementary"* | "CrunchBang"* | "Ubuntu"*)
|
||||
ascii_colors 7 1 3
|
||||
;;
|
||||
|
||||
"Red Hat"*)
|
||||
ascii_colors 7 1 3
|
||||
ascii_distro="redhat"
|
||||
;;
|
||||
|
||||
"Fedora"* | "Sabayon"* | "Frugalware"* | "Exherbo"*)
|
||||
ascii_colors 7 4 1
|
||||
;;
|
||||
|
||||
"Gentoo"* | "Funtoo"*)
|
||||
ascii_colors 7 5
|
||||
;;
|
||||
|
||||
"Kali"*)
|
||||
ascii_colors 4 8
|
||||
;;
|
||||
|
||||
"KaOS"*)
|
||||
ascii_colors 4 7 1
|
||||
;;
|
||||
|
||||
"Mac OS X"* | "Manjaro"* | "Deepin"*)
|
||||
ascii_colors 2 3 1 1 5 4
|
||||
;;
|
||||
|
||||
"OpenMandriva"*)
|
||||
ascii_colors 4 3
|
||||
;;
|
||||
|
||||
"Mageia"*)
|
||||
ascii_colors 7 6
|
||||
;;
|
||||
|
||||
"Peppermint"*)
|
||||
ascii_colors 7 1
|
||||
;;
|
||||
|
||||
*"Mint"*)
|
||||
ascii_colors 7 2
|
||||
ascii_distro="mint"
|
||||
;;
|
||||
|
||||
"LMDE"* | "Chapeau"*)
|
||||
ascii_colors 7 2
|
||||
;;
|
||||
|
||||
"NetBSD"* | "Parabola"* | "Tails"* | "BLAG"*)
|
||||
ascii_colors 5 7
|
||||
;;
|
||||
|
||||
"OpenBSD"*)
|
||||
ascii_colors 3 3 6 1 8
|
||||
;;
|
||||
|
||||
"OpenSuse"*)
|
||||
ascii_colors 2 7
|
||||
;;
|
||||
|
||||
"PCLinuxOS"* | "Slackware"*)
|
||||
ascii_colors 4 7
|
||||
;;
|
||||
|
||||
"Raspbian"*)
|
||||
ascii_colors 2 1
|
||||
;;
|
||||
|
||||
"Scientific"*)
|
||||
ascii_colors 4 1 7
|
||||
;;
|
||||
|
||||
"Solus"*)
|
||||
ascii_colors 7 8
|
||||
;;
|
||||
|
||||
"Trisquel"* | "NixOS"*)
|
||||
ascii_colors 4 6
|
||||
;;
|
||||
|
||||
"void"*)
|
||||
ascii_colors 2 2 8
|
||||
;;
|
||||
|
||||
"Windows 10"*)
|
||||
ascii_colors 6
|
||||
ascii_distro="windows10"
|
||||
;;
|
||||
|
||||
"Windows"*)
|
||||
ascii_colors 1 2 4 3
|
||||
;;
|
||||
|
||||
"Zorin"*)
|
||||
ascii_colors 4
|
||||
;;
|
||||
esac
|
||||
|
||||
# If the ascii file doesn't exist
|
||||
# fallback to showing distro ascii.
|
||||
[ ! -f "$ascii" ] && ascii="distro"
|
||||
|
@ -1765,17 +1628,12 @@ getascii () {
|
|||
ascii="$script_dir/ascii/distro/${ascii/ *}"
|
||||
fi
|
||||
|
||||
# Overwrite distro colors if '$ascii_colors' doesn't
|
||||
# equal 'distro'.
|
||||
[ "${ascii_colors[0]}" != "distro" ] && \
|
||||
ascii_colors ${ascii_colors[@]}
|
||||
|
||||
# We only use eval in the distro ascii files.
|
||||
print="$(eval printf "$(<"$ascii")")"
|
||||
else
|
||||
case "${ascii_colors[0]}" in
|
||||
"distro") ascii_color="$c1" ;;
|
||||
*) ascii_color="$(color ${ascii_colors[0]})" ;;
|
||||
*) ascii_color="\033[38;5;${ascii_colors[0]}m" ;;
|
||||
esac
|
||||
|
||||
print="${ascii_color}$(<"$ascii")"
|
||||
|
@ -1805,28 +1663,6 @@ getascii () {
|
|||
export LC_ALL=C
|
||||
}
|
||||
|
||||
ascii_colors () {
|
||||
# Ascii colors
|
||||
c1=$(color "$1")
|
||||
c2=$(color "$2")
|
||||
c3=$(color "$3")
|
||||
c4=$(color "$4")
|
||||
c5=$(color "$5")
|
||||
c6=$(color "$6")
|
||||
|
||||
# Text colors
|
||||
if [ "$text_color_auto" == "on" ]; then
|
||||
title_color="$1"
|
||||
subtitle_color="$2"
|
||||
info_color=7
|
||||
at_color=7
|
||||
colon_color=7
|
||||
|
||||
# If the second color is white use the first for the subtitle
|
||||
[ "$2" == 7 ] && subtitle_color="$1"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# }}}
|
||||
|
||||
|
@ -2123,18 +1959,152 @@ getunderline () {
|
|||
# Colors {{{
|
||||
|
||||
colors () {
|
||||
title_color="\033[38;5;${title_color}m"
|
||||
at_color="\033[38;5;${at_color}m"
|
||||
subtitle_color="\033[38;5;${subtitle_color}m"
|
||||
colon_color="\033[38;5;${colon_color}m"
|
||||
underline_color="\033[38;5;${underline_color}m"
|
||||
info_color="\033[38;5;${info_color}m"
|
||||
# Change color of logo based on distro
|
||||
case "$ascii_distro" in
|
||||
"Arch"* | "Antergos"*)
|
||||
setcolors 6 4
|
||||
;;
|
||||
|
||||
"CentOS"*)
|
||||
setcolors 3 2 4 5 7
|
||||
;;
|
||||
|
||||
"CRUX"* | "Chakra"* | "gNewSense"* | "SailfishOS"*)
|
||||
setcolors 4 5 7
|
||||
;;
|
||||
|
||||
"Chrom"*)
|
||||
setcolors 2 1 3 4 7
|
||||
ascii_distro="chrome"
|
||||
;;
|
||||
|
||||
"Debian"* | "FreeBSD"* | "Elementary"* | "CrunchBang"* | "Ubuntu"*)
|
||||
setcolors 7 1 3
|
||||
;;
|
||||
|
||||
"Red"*)
|
||||
setcolors 7 1 3
|
||||
ascii_distro="redhat"
|
||||
;;
|
||||
|
||||
"Fedora"* | "Sabayon"* | "Frugalware"* | "Exherbo"*)
|
||||
setcolors 7 4 1
|
||||
;;
|
||||
|
||||
"Gentoo"* | "Funtoo"*)
|
||||
setcolors 7 5
|
||||
;;
|
||||
|
||||
"Kali"*)
|
||||
setcolors 4 8
|
||||
;;
|
||||
|
||||
"Mac"* | "Manjaro"* | "Deepin"*)
|
||||
setcolors 2 3 1 1 5 4
|
||||
;;
|
||||
|
||||
"OpenMandriva"*)
|
||||
setcolors 4 3
|
||||
;;
|
||||
|
||||
"Mageia"*)
|
||||
setcolors 7 6
|
||||
;;
|
||||
|
||||
"Peppermint"*)
|
||||
setcolors 7 1
|
||||
;;
|
||||
|
||||
*"Mint"*)
|
||||
setcolors 7 2
|
||||
ascii_distro="mint"
|
||||
;;
|
||||
|
||||
"LMDE"* | "Chapeau"*)
|
||||
setcolors 7 2
|
||||
;;
|
||||
|
||||
"NetBSD"* | "Parabola"* | "Tails"* | "BLAG"*)
|
||||
setcolors 5 7
|
||||
;;
|
||||
|
||||
"OpenBSD"*)
|
||||
setcolors 3 3 6 1 8
|
||||
;;
|
||||
|
||||
"OpenSuse"*)
|
||||
setcolors 2 7
|
||||
;;
|
||||
|
||||
"PCLinuxOS"* | "Slackware"* | "KaOS")
|
||||
setcolors 4 7 1
|
||||
;;
|
||||
|
||||
"Scientific"*)
|
||||
setcolors 4 1 7
|
||||
;;
|
||||
|
||||
"Solus"*)
|
||||
setcolors 7 8
|
||||
;;
|
||||
|
||||
"Trisquel"* | "NixOS"* | "Zorin"*)
|
||||
setcolors 4 6
|
||||
;;
|
||||
|
||||
"void"*)
|
||||
setcolors 2 2 8
|
||||
;;
|
||||
|
||||
"Windows 10"*)
|
||||
setcolors 6
|
||||
ascii_distro="windows10"
|
||||
;;
|
||||
|
||||
"Windows"*)
|
||||
setcolors 1 2 4 3
|
||||
;;
|
||||
|
||||
"Raspbian"* | *)
|
||||
setcolors 2 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Overwrite distro colors if '$ascii_colors' doesn't
|
||||
# equal 'distro'.
|
||||
[ "${ascii_colors[0]}" != "distro" ] && \
|
||||
setcolors ${ascii_colors[@]}
|
||||
}
|
||||
|
||||
color () {
|
||||
printf "%b%s" "\033[38;5;${1}m"
|
||||
setcolors () {
|
||||
c1="\033[38;5;${1}m"
|
||||
c2="\033[38;5;${2}m"
|
||||
c3="\033[38;5;${3}m"
|
||||
c4="\033[38;5;${4}m"
|
||||
c5="\033[38;5;${5}m"
|
||||
c6="\033[38;5;${6}m"
|
||||
|
||||
if [ "${colors[0]}" == "distro" ]; then
|
||||
title_color="\033[38;5;${1}m"
|
||||
at_color="\033[38;5;7m"
|
||||
underline_color="\033[38;5;7m"
|
||||
subtitle_color="\033[38;5;${2}m"
|
||||
colon_color="\033[38;5;7m"
|
||||
info_color="\033[38;5;7m"
|
||||
|
||||
# If the second color is white use the first for the subtitle
|
||||
[ "$2" == 7 ] && subtitle_color="\033[38;5;${1}m"
|
||||
else
|
||||
title_color="\033[38;5;${colors[0]}m"
|
||||
at_color="\033[38;5;${colors[1]}m"
|
||||
underline_color="\033[38;5;${colors[2]}m"
|
||||
subtitle_color="\033[38;5;${colors[3]}m"
|
||||
colon_color="\033[38;5;${colors[4]}m"
|
||||
info_color="\033[38;5;${colors[5]}m"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# }}}
|
||||
|
||||
# Bold {{{
|
||||
|
@ -2272,14 +2242,8 @@ usage () { cat << EOF
|
|||
--birthday_time on/off Enable/Disable showing the time in birthday output
|
||||
|
||||
Text Colors:
|
||||
--text_color_auto on/off When set to 'on' and you're in ascii mode, the text
|
||||
will be colored according to your distro's ascii logo.
|
||||
--title_color num Change the color of the title
|
||||
--at_color num Change the color of "@" in title
|
||||
--subtitle_color num Change the color of the subtitle
|
||||
--colon_color num Change the color of the colons
|
||||
--underline_color num Change the color of the underlines
|
||||
--info_color num Change the color of the info
|
||||
--colors x x x x x x Changes the text colors in this order:
|
||||
title, @, underline, subtitle, colon, info
|
||||
|
||||
Text Formatting:
|
||||
--underline_char char Character to use when underlineing title
|
||||
|
@ -2385,13 +2349,16 @@ while [ "$1" ]; do
|
|||
;;
|
||||
|
||||
# Text Colors
|
||||
--text_color_auto) text_color_auto="$2" ;;
|
||||
--title_color) title_color=$2 ;;
|
||||
--at_color) at_color=$2 ;;
|
||||
--subtitle_color) subtitle_color=$2 ;;
|
||||
--colon_color) colon_color=$2 ;;
|
||||
--underline_color) underline_color=$2 ;;
|
||||
--info_color) info_color=$2 ;;
|
||||
--colors)
|
||||
unset colors
|
||||
for arg in "$2" "$3" "$4" "$5" "$6" "$7"; do
|
||||
case "$arg" in
|
||||
"--"*) break ;;
|
||||
*) colors+=($arg)
|
||||
esac
|
||||
done
|
||||
colors+=(7 7 7 7 7 7)
|
||||
;;
|
||||
|
||||
# Text Formatting
|
||||
--underline) underline="$2" ;;
|
||||
|
@ -2433,7 +2400,6 @@ while [ "$1" ]; do
|
|||
unset ascii_colors
|
||||
for arg in "$2" "$3" "$4" "$5" "$6" "$7"; do
|
||||
case "$arg" in
|
||||
"$1") continue ;;
|
||||
"--"*) break ;;
|
||||
*) ascii_colors+=($arg)
|
||||
esac
|
||||
|
@ -2442,7 +2408,6 @@ while [ "$1" ]; do
|
|||
;;
|
||||
|
||||
--ascii_distro)
|
||||
image="ascii"
|
||||
ascii_distro="$2"
|
||||
case "$2" in "--"* | "") ascii_distro="$distro" ;; esac
|
||||
;;
|
||||
|
@ -2484,6 +2449,10 @@ done
|
|||
# Restore cursor and clear screen on ctrl+c
|
||||
trap 'printf "\033[?25h"; clear; exit' 2
|
||||
|
||||
# Get colors / bold
|
||||
colors
|
||||
bold
|
||||
|
||||
if [ "$image" != "off" ]; then
|
||||
# If the script exits for any reason, unhide the cursor.
|
||||
trap 'printf "\033[?25h"' EXIT
|
||||
|
@ -2523,10 +2492,6 @@ fi
|
|||
# Move cursor to the top
|
||||
[ "$image" != "off" ] && printf "\033[0H"
|
||||
|
||||
# Get colors / bold
|
||||
colors 2>/dev/null
|
||||
bold
|
||||
|
||||
# Print the info
|
||||
printinfo
|
||||
|
||||
|
|
Reference in New Issue