78 lines
2.7 KiB
Bash
Executable File
78 lines
2.7 KiB
Bash
Executable File
#!/bin/bash
|
|
clear
|
|
c=3 b=4
|
|
for j in c b; do
|
|
for i in {0..7}; do
|
|
printf -v $j$i "%b" "\e[${!j}${i}m"
|
|
done
|
|
done
|
|
|
|
user=$(whoami)
|
|
host=$(uname -a | awk '{print $2}')
|
|
memory=$(free -h)
|
|
os=$(source /etc/os-release && echo $PRETTY_NAME)
|
|
kernel=$(uname -sr)
|
|
wm="$(xprop -id $(xprop -root -notype | awk '$1=="_NET_SUPPORTING_WM_CHECK:"{print $5}') -notype -f _NET_WM_NAME 8t | grep "WM_NAME" | cut -f2 -d \")"
|
|
mem=$(free -m | sed -n 's/^Mem:\s\+[0-9]\+\s\+\([0-9]\+\)\s.\+/\1/p')
|
|
pkgs="$(xbps-query -l | wc -l)"
|
|
shell=$(echo "$SHELL" | awk -F/ '{for ( i=1; i <= NF; i++) sub(".", substr(toupper($i),1,1) , $i); print $NF}')
|
|
colors=$(for i in {0..7}; do echo -en "\e[${1}$((30 + $i))m▁▁▁"; done)
|
|
|
|
get_uptime() {
|
|
# Uptime works by retrieving the data in total seconds and then
|
|
# converting that data into days, hours and minutes using simple
|
|
# math.
|
|
IFS=. read -r s _ </proc/uptime
|
|
|
|
# Convert the uptime from seconds into days, hours and minutes.
|
|
d=$((s / 60 / 60 / 24))
|
|
h=$((s / 60 / 60 % 24))
|
|
m=$((s / 60 % 60))
|
|
|
|
# Only append days, hours and minutes if they're non-zero.
|
|
case "$d" in [!0]*) uptime="${uptime}${d}d " ;; esac
|
|
case "$h" in [!0]*) uptime="${uptime}${h}h " ;; esac
|
|
case "$m" in [!0]*) uptime="${uptime}${m}m " ;; esac
|
|
|
|
echo ${uptime:-0m}
|
|
}
|
|
|
|
init() {
|
|
init=$(readlink /sbin/init)
|
|
init=${init##*/}
|
|
init=${init%%-*}
|
|
export init
|
|
}
|
|
init
|
|
|
|
cat <<EOF
|
|
${c0} ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
|
|
${c0} ▎▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎ ${c2} ${c0} ${c3} ${c0}${c1} ${c0}▎ ${c1}${c4}${c1} ${c4}$user@${c1}$host
|
|
${c0} ▎ ▎ ${c4}
|
|
${c0} ▎ ${c4}█▀▀▀▀▀▀▀▀▀█${c0} ▎ ${c4}OS ${c7} $os
|
|
${c0} ▎ ${c4}█ █${c0} ▎ ${c4}Kernel ${c7} $kernel
|
|
${c0} ▎ ${c4}█ █ █ █${c0} ▎ ${c4}WM ${c7} $wm
|
|
${c0} ▎ ${c0}█ █${c0} ▎ ${c4}Shell ${c7} $shell
|
|
${c0} ▎ ${c0}▀█▄▄▄▄▄▄▄█▀${c0} ▎ ${c4}Init ${c7} $init
|
|
${c0} ▎ ▎ ${c4}pkgs ${c7} $pkgs
|
|
${c0} ▎ ▎ ${c4}uptime ${c7} $(get_uptime)
|
|
${c0} ▎ ${c4}void runit ^_^ ${c0} ▎ ${c4}memory ${c7} $mem $(echo / 3776MiB)
|
|
${c0} ▎▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▎ $colors
|
|
EOF
|
|
|
|
if [[ $1 == "-b" ]]; then
|
|
for f in {0..6}; do
|
|
echo -en "\033[$((f + 41))m\033[$((f + 30))m██▓▒░"
|
|
done
|
|
echo -en "\033[37m██\n"
|
|
echo
|
|
for f in {0..6}; do
|
|
echo -en "\033[$((f + 41))m\033[1;$((f + 30))m██▓▒░"
|
|
done
|
|
echo -en "\033[1;37m██"
|
|
echo -e "\033[0m"
|
|
echo
|
|
else
|
|
:
|
|
fi
|