Files
lnx-arch/dots/bin/resources.sh
committer@tuxwarrior c2aa87085e keep parttision number
2026-03-17 06:40:14 -05:00

42 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# 26.03.06 :: klevstul
displayResources() {
operation=$1
extra_arg=$2
if [[ "${operation}" == "memory" ]]; then
echo /home/poq/.config/nwg-panel/icons/noun-memory-8286943.svg
free -h | awk '/^Mem:/ {printf "%d/%d gb (%.1f%%)", $3, $2, $3*100/$2}'
elif [[ "${operation}" == "cpu" ]]; then
echo /home/poq/.config/nwg-panel/icons/microchip-solid-full.svg
(grep 'cpu ' /proc/stat; sleep 0.1; grep 'cpu ' /proc/stat) | awk -v RS="" '{printf "%.1f%%", ($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)"%"}'
elif [[ "${operation}" == "topmem" ]]; then
# the process that consumes the most memory
echo /home/poq/.config/nwg-panel/icons/noun-ram-8252148.svg
ps -eo pid,%mem,cmd --sort=-%mem | head -n 2 | awk 'NR > 1 {
pid = $1;
mem_percent = $2;
cmd_path = $3;
gsub(/.*\//, "", cmd_path);
{printf "%s: %s (%s%)", pid, cmd_path, mem_percent}
}'
elif [[ "${operation}" == "topcpu" ]]; then
# the process that consumes the most cpu
echo /home/poq/.config/nwg-panel/icons/noun-cpu-8293079.svg
ps -eo pid,comm,%cpu --sort=-%cpu | head -n 2 | awk 'NR==2 {printf "%s: %s (%s%)", $1, $2, $3}'
elif [[ "${operation}" == "drive" ]]; then
# display used drive space
main_drive=$(df / | awk 'NR==2 {print $1}') # gets the device mounted at /
extra_arg=${extra_arg:=${main_drive}}
echo /home/poq/.config/nwg-panel/icons/noun-storage-5078021.svg
df -h ${extra_arg} | awk 'NR==2 {printf "%s/%s (%s)\n", $3, $2, $5}'
else
echo ""
fi
}
displayResources $1 $2