Files
hyprland/config/ags/scripts/system.sh
T
2024-07-27 23:18:05 +05:45

81 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
get_cpu_usage() {
top -bn1 | grep "Cpu(s)" |
awk '{printf "%.0f\n", $2 + $4 + $6}'
}
get_ram_usage() {
free -m | awk 'NR==2{printf "%.0f\n", $3*100/$2 }'
}
get_swap_usage() {
free -m | awk 'NR==3 { if ($2 == 0) { print 0 } else { printf "%.0f\n", $3*100/$2 } }'
}
get_cpu_temp() {
sensors | grep -i 'core ' | awk '{sum+=$3; count+=1} END {if (count > 0) print sum/count; else print "Undefined"}'
}
get_cpu_name() {
lscpu | awk -F ': +' '/Model name/ {sub(" @ .*", "", $2); print $2}'
}
get_ram() {
echo "$(free -m | grep Mem | awk '{print $2}') MiB"
}
get_kernel() {
uname -r
}
get_gpu() {
lshw -C display | grep "product" | awk -F ': ' '{print $2}'
}
get_hostname() {
cat /etc/hostname
}
get_os() {
hostnamectl | grep "Operating System" | awk '{for (i=3; i<=NF; i++) printf $i " "; print ""}'
}
get_uptime() {
uptime -p | sed -e 's/up //' \
-e 's/ hours\{0,1\}/h/g' \
-e 's/ minutes\{0,1\}/min/g' \
-e 's/ days\{0,1\}/d/g' \
-e 's/ seconds\{0,1\}/sec/g' \
-e 's/,/, /g' \
-e 's/ */ /g' \
-e 's/^ //g' \
-e 's/ $//g'
}
if [[ "$1" == "--cpu-usage" ]]; then
get_cpu_usage
elif [[ "$1" == "--ram-usage" ]]; then
get_ram_usage
elif [[ "$1" == "--swap-usage" ]]; then
get_swap_usage
elif [[ "$1" == "--cpu-temp" ]]; then
get_cpu_temp
elif [[ "$1" == "--cpu-name" ]]; then
get_cpu_name
elif [[ "$1" == "--cpu-cores" ]]; then
nproc
elif [[ "$1" == "--ram" ]]; then
get_ram
elif [[ "$1" == "--kernel" ]]; then
get_kernel
elif [[ "$1" == "--gpu-name" ]]; then
get_gpu
elif [[ "$1" == "--hostname" ]]; then
get_hostname
elif [[ "$1" == "--os" ]]; then
get_os
elif [[ "$1" == "--uptime" ]]; then
get_uptime
fi