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 }