dots/bin/bin/cutefetch

118 lines
2.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# Tiny colored fetch script
# Requires Typicons Font to display the icons
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[${!j}${i}m"
done
done
d=$'\e[1m'
t=$'\e[0m'
v=$'\e[7m'
# Items
sep=
s=$d$f0$sep$t
#w=
w=
netname="$(nmcli -g common | grep -m 1 connected | awk '{print($4)}')"
[[ -z $netname ]] && netname="no wifi"
h=
wmname="$(xprop -id $(xprop -root -notype | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}') -notype -f _NET_WM_NAME 8t | grep -m 1 "WM_NAME" | cut -f2 -d \")"
k=
kernel="$(uname -r | cut -d '-' -f1)"
r=
resolution="$(xwininfo -root | grep geometry | awk '{print $2}' | cut -d + -f1)"
sh=
shell=$(basename $SHELL)
# set the eyes, ^.^ by default
eyes() {
if [[ -z $1 ]]; then
echo "^.^"
elif [[ $1 = "0" ]]; then
echo ". ."
elif [[ $1 = "1" ]]; then
echo "· ·"
elif [[ $1 = "2" ]]; then
echo "^ ^"
elif [[ $1 = "3" ]]; then
echo "- -"
elif [[ $1 = "4" ]]; then
echo "~ ~"
elif [[ $1 = "5" ]]; then
echo "* *"
elif [[ $1 = "6" ]]; then
echo "^.^"
elif [[ $1 = "7" ]]; then
echo "-.-"
elif [[ $1 = "8" ]]; then
echo "~.~"
elif [[ $1 = "9" ]]; then
echo "*.*"
elif [[ $1 = "10" ]]; then
echo "0.0"
elif [[ $1 = "11" ]]; then
echo "0 0"
elif [[ $1 = "12" ]]; then
echo "o o"
elif [[ $1 = "13" ]]; then
echo "o.o"
else
echo "^.^"
fi
}
# sysinfo with cute kitty
kittyfetch() {
printf " $d$f1$h $t$wmname
/\_/\ $f3$k $t$kernel
( $d$(eyes $1)$t ) $f2$sh $t$shell
$f1>$t $f3^$t $f1<$t $f5$r $t$resolution
$f4$w $t$netname
"
uptime --pretty
}
# sysinfo with cute bunny
bunnyfetch() {
printf " $d$f1$h $t$wmname
(\ /) $f3$k $t$kernel
( $d$(eyes $1)$t) $f2$sh $t$shell
c($f1\"$t)($f1\"$t) $f5$r $t$resolution
$f4$w $t$netname
"
uptime --pretty
}
# script information
scriptinfo() {
printf "cutefetch - simple colored script to display system info
Usage: cutefetch kitty/bunny
If no argument is given, kitty is assumed.
If unknown argument is given, this message is shown.
"
}
# print the fetch info, kitty by default, bunny otherwise
cutefunc() {
if [[ -z $1 ]] || [[ $1 = "kitty" ]] || [[ $1 = "k" ]]; then
kittyfetch $2
elif [[ $1 = "bunny" ]] || [[ $1 = "b" ]]; then
[[ -z $2 ]] && eye="0" || eye=$2
bunnyfetch $eye
else
[[ $1 == ?(-)+([0-9]) ]] && kittyfetch $1 || scriptinfo
fi
}
# call the main function
cutefunc $1 $2