81 lines
2.2 KiB
Bash
Executable File
81 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
|
|
######################################################################
|
|
# @author : swytch (adapated from github.com/jschx/ufetch)
|
|
# @file : fetch
|
|
# @license : GPLv3
|
|
# @created : Wednesday May 20, 2020 18:16:09 CEST
|
|
#
|
|
# @description : display system infos
|
|
######################################################################
|
|
|
|
|
|
## INFO
|
|
|
|
# $USER is already defined
|
|
host="$(cat /etc/hostname)"
|
|
os='Arch Linux'
|
|
kernel="$(uname -sr)"
|
|
uptime="$(uptime -p | sed 's/up //')"
|
|
packages="$(pacman -Q | wc -l)"
|
|
shell="$(basename "$SHELL")"
|
|
wm="$(tail -n 1 "$XDG_CONFIG_HOME/X11/xinitrc" | cut -d ' ' -f 2)"
|
|
|
|
# parse the '/proc/meminfo' file splitting on ':' and 'k'.
|
|
# the format of the file is 'key: 000kB' and an additional
|
|
# split is used on 'k' to filter out 'kB'.
|
|
while IFS=':k ' read -r key val _; do
|
|
case $key in
|
|
# MemUsed = MemTotal + Shmem - MemFree - Buffers - Cached - SReclaimable
|
|
MemTotal)
|
|
mem_used=$((mem_used + val))
|
|
mem_total=$val
|
|
;;
|
|
|
|
Shmem)
|
|
mem_used=$((mem_used + val))
|
|
;;
|
|
|
|
MemFree|Buffers|Cached|SReclaimable)
|
|
mem_used=$((mem_used - val))
|
|
;;
|
|
esac
|
|
done < /proc/meminfo
|
|
|
|
mem_used=$((mem_used / 1024))
|
|
mem_total=$((mem_total / 1024))
|
|
|
|
# set colors
|
|
if [ -x "$(command -v tput)" ]; then
|
|
bold="$(tput bold)"
|
|
black="$(tput setaf 0)"
|
|
red="$(tput setaf 1)"
|
|
green="$(tput setaf 2)"
|
|
orange="$(tput setaf 3)"
|
|
yellow="$(tput setaf 11)"
|
|
blue="$(tput setaf 4)"
|
|
magenta="$(tput setaf 5)"
|
|
cyan="$(tput setaf 6)"
|
|
white="$(tput setaf 15)"
|
|
reset="$(tput sgr0)"
|
|
fi
|
|
|
|
# you can change these
|
|
lc="${bold}${green}" # labels
|
|
nc="${bold}${red}" # user and hostname
|
|
ic="${white}" # info
|
|
a0="${blue}" # first arch color
|
|
a1="${cyan}" # second arch color
|
|
|
|
cat <<EOF
|
|
${a0} ${nc}${USER}${ic}@${nc}${host}
|
|
${a0} /\\ ${lc}OS: ${ic}${os}
|
|
${a0} / \\ ${lc}KERNEL: ${ic}${kernel}
|
|
${a0} /\\ \\ ${lc}SHELL: ${ic}${shell}
|
|
${a1} / \\ ${lc}WM: ${ic}${wm}
|
|
${a1} / ,, \\ ${lc}UPTIME: ${ic}${uptime}
|
|
${a1} / | | -\\ ${lc}PACKAGES: ${ic}${packages}
|
|
${a1} /_-'' ''-_\\ ${lc}MEMORY: ${ic}${mem_used}MiB/${mem_total}MiB
|
|
|
|
EOF
|