stormfetch/config/fetch_script_functions.sh

87 lines
2.1 KiB
Bash

command_exists() {
if [ -z "$1" ]; then
return 1
fi
if command -v "$1" &> /dev/null; then
return 0
else
return 1
fi
}
get_shell() {
case ${SHELL##*/} in
"")
echo "Unknown"
;;
sh|ash|dash|es)
echo ${SHELL##*/} $(${SHELL##*/} --version)
;;
*)
SHELL_NAME=${SHELL##*/}
SHELL_VERSION="$($SHELL --version)"
SHELL_VERSION=$(echo $SHELL_VERSION | sed 's/,//g')
SHELL_VERSION=$(echo $SHELL_VERSION | sed 's/ //g')
SHELL_VERSION=$(echo $SHELL_VERSION | sed 's/version//g')
SHELL_VERSION=$(echo $SHELL_VERSION | sed "s/${SHELL_NAME}//g")
echo $SHELL_NAME $SHELL_VERSION
;;
esac
}
get_cpu_name() {
echo $(grep -m1 "model name" /proc/cpuinfo | cut -d: -f2 | xargs)
}
get_total_mem() {
echo $(free --mebi -t | grep 'Total' | tr -s ' ' | cut -d" " -f2)
}
get_free_mem() {
echo $(free --mebi -t | grep 'Total' | tr -s ' ' | cut -d" " -f3)
}
get_used_mem() {
echo $(free --mebi -t | grep 'Total' | tr -s ' ' | cut -d" " -f4)
}
get_de_wm() {
if [[ $DESKTOP_SESSION == "plasma" ]]; then
echo "KDE Plasma $(plasmashell --version | sed 's/plasmashell //g')"
else
echo $DESKTOP_SESSION
fi
}
get_screen_resolution() {
if xhost >& /dev/null ; then echo $(xdpyinfo | grep dimensions | tr -s ' ' | cut -d " " -f3)
fi
}
get_packages() {
ARRAY=()
if command_exists dpkg; then
ARRAY+=("$(dpkg-query -f '.\n' -W | wc -l) (dpkg)")
fi
if command_exists pacman; then
ARRAY+=("$(pacman -Q | wc -l) (pacman)")
fi
if command_exists rpm; then
ARRAY+=("$(rpm -qa | wc -l) (rpm)")
fi
if command_exists bpm; then
ARRAY+=("$(bpm list -n) (bpm)")
fi
if command_exists emerge; then
ARRAY+=("$(ls -l /var/db/pkg/ | wc -l) (emerge)")
fi
if command_exists flatpak; then
ARRAY+=("$(flatpak list | wc -l) (flatpak)")
fi
if command_exists snap; then
ARRAY+=("$(snap list | wc -l) (snap)")
fi
echo "${ARRAY[@]}"
unset ARRAY
}