#!/bin/sh print_host() { [ -z "$HOST" ] && cat /etc/hostname || printf "$HOST\n" } print_kernel() { kernel=$(uname -r) kernel="${kernel%%_*}" kernel="${kernel%%-*}" printf "$kernel\n" } print_pkgs() { C() { command -v "$@" >/dev/null 2>&1 ; } if [ -d /bedrock ] ; then pkgs="N/A" elif C dpkg ; then pkgs="$(printf $(dpkg-query -f '${binary:Package}\n' -W | wc -l))" elif C rpm ; then pkgs="$(rpm -qa | wc -l)" elif C pacman ; then pkgs="$(pacman -Qq | wc -l)" elif C xbps-query ; then pkgs="$(xbps-query -l | wc -l)" elif C kiss l ; then pkgs="$(kiss l | wc -l)" elif C yum ; then pkgs="$(yum list installed | wc -l)" elif C bonsai ; then pkgs="$(bonsai list | wc -l)" elif C guix ; then pkgs="$(guix package --list-installed | wc -l)" elif C pkg ; then pkgs="$(pkg info -a | wc -l | tr -d ' ')" else pkgs="N/A" fi printf "$pkgs\n" } print_shell() { shell="${SHELL##*/}" printf "$shell\n" } print_os() { if [ -e /etc/os-release ] && . /etc/os-release ; then printf "$PRETTY_NAME\n" elif [ -d /bedrock ] ; then cat /bedrock/etc/bedrock-release else uname -s || printf "N/A\n" fi } print_wal() { wal=$(xrdb -q | grep wallpaper | awk 'NR == 2 {print $2}') printf "$wal\n" } print_colors() { colors="$(xrdb -q | grep "#include" | awk '{print $2}')" colors="${colors##*/}" colors=${colors%\"} printf "$colors\n" } print_user() { if [ -z "$LOGNAME" ]; then printf "N/A\n" else printf "$LOGNAME\n" fi } print_resolution() { printf "\n" } set_colors() { r="\033[32m" re="\033[0m" gb="\033[42m" bl="\e[7m \e[0m" gb="$g$bl" gbs="$gb$gb$gb$gb$gb$gb" } print_colors() { printf "\n" printf " \e[41m \e[42m \e[43m \e[44m \e[45m \e[46m \e[0m\n" printf "\n" } print_wm() { if command -v xprop >/dev/null 2>&1 ; then 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 \") else WM="TTY" fi printf "$WM\n" } set_colors printf "\n" printf " $r┌────────────────────────────────────┐$re\n" printf " $r│ KER:$re %-30s$r│$re\n" "$(print_kernel)" printf " $r│ PKG:$re %-30s$r│$re\n" "$(print_pkgs)" printf " $r│ SHE:$re %-30s$r│$re\n" "$(print_shell)" printf " $r│ DIS:$re %-30s$r│$re\n" "$(print_os)" printf " $r│ SES:$re %-30s$r│$re\n" "$(print_wm)" printf " $r│ HOS:$re %-30s$r│$re\n" "$(print_host)" printf " $r│ USE:$re %-30s$r│$re\n" "$(whoami)" printf " $r└────────────────────────────────────┘$re\n" printf "\n"