Improvements

This commit is contained in:
Cyril 2025-01-13 01:41:08 +01:00
parent be806706d6
commit cb14fc26c4
3 changed files with 39 additions and 19 deletions

View file

@ -4,7 +4,7 @@ set -e
function top_line() { function top_line() {
echo -e "${white}" echo -e "${white}"
echo -e " ┌──────────────────────────────────────────────────────────────┐" echo -e " ┌────────────────────────────────────────────────────────────────┐"
} }
function hr() { function hr() {
@ -12,11 +12,11 @@ function hr() {
} }
function inner_line() { function inner_line() {
echo -e " ├──────────────────────────────────────────────────────────────┤" echo -e " ├────────────────────────────────────────────────────────────────┤"
} }
function bottom_line() { function bottom_line() {
echo -e " └──────────────────────────────────────────────────────────────┘" echo -e " └────────────────────────────────────────────────────────────────┘"
echo -e "${white}" echo -e "${white}"
} }
@ -27,7 +27,7 @@ function blank_line() {
function title() { function title() {
local text=$1 local text=$1
local color=$2 local color=$2
local max_length=62 local max_length=64
local text_length=${#text} local text_length=${#text}
local padding_left=$(((max_length - text_length) / 2)) local padding_left=$(((max_length - text_length) / 2))
local padding_right=$((max_length - text_length - padding_left)) local padding_right=$((max_length - text_length - padding_left))
@ -36,7 +36,7 @@ function title() {
function subtitle() { function subtitle() {
local menu_text1=$1 local menu_text1=$1
local max_length=61 local max_length=63
local padding=$((max_length - ${#menu_text1})) local padding=$((max_length - ${#menu_text1}))
printf "${blue}${menu_text1}%-${padding}s${white}│\n" '' printf "${blue}${menu_text1}%-${padding}s${white}│\n" ''
} }
@ -45,7 +45,7 @@ function main_menu_option() {
local menu_number=$1 local menu_number=$1
local menu_text1=$2 local menu_text1=$2
local menu_text2=$3 local menu_text2=$3
local max_length=56 local max_length=58
local total_text_length=$(( ${#menu_text1} + ${#menu_text2} )) local total_text_length=$(( ${#menu_text1} + ${#menu_text2} ))
local padding=$((max_length - total_text_length)) local padding=$((max_length - total_text_length))
printf "${yellow}${menu_number}${white}) ${green}${menu_text1} ${white}${menu_text2}%-${padding}s${white}│\n" '' printf "${yellow}${menu_number}${white}) ${green}${menu_text1} ${white}${menu_text2}%-${padding}s${white}│\n" ''
@ -55,7 +55,7 @@ function menu_option() {
local menu_number=$1 local menu_number=$1
local menu_text1=$2 local menu_text1=$2
local menu_text2=$3 local menu_text2=$3
local max_length=60 local max_length=62
local total_text_length=$(( ${#menu_text1} + ${#menu_text2} + ${#menu_number} + 4 )) local total_text_length=$(( ${#menu_text1} + ${#menu_text2} + ${#menu_number} + 4 ))
local padding=$((max_length - total_text_length)) local padding=$((max_length - total_text_length))
printf "${yellow}${menu_number}${white}) ${white}${menu_text1} ${green}${menu_text2}%-${padding}s${white}│\n" '' printf "${yellow}${menu_number}${white}) ${white}${menu_text1} ${green}${menu_text2}%-${padding}s${white}│\n" ''
@ -65,7 +65,7 @@ function bottom_menu_option() {
local menu_number=$1 local menu_number=$1
local menu_text=$2 local menu_text=$2
local color=$3 local color=$3
local max_length=57 local max_length=59
local padding=$((max_length - ${#menu_text})) local padding=$((max_length - ${#menu_text}))
printf "$color${menu_number}${white}) ${white}${menu_text}%-${padding}s${white}│\n" '' printf "$color${menu_number}${white}) ${white}${menu_text}%-${padding}s${white}│\n" ''
} }
@ -74,7 +74,7 @@ function info_line() {
local status=$1 local status=$1
local text=$2 local text=$2
local color=$3 local color=$3
local max_length=66 local max_length=68
local total_text_length=$(( ${#status} + ${#text} )) local total_text_length=$(( ${#status} + ${#text} ))
local padding=$((max_length - total_text_length)) local padding=$((max_length - total_text_length))
printf "$color${status} ${white}${text}%-${padding}s${white}│\n" '' printf "$color${status} ${white}${text}%-${padding}s${white}│\n" ''
@ -83,7 +83,7 @@ function info_line() {
function system_line() { function system_line() {
local title="$1" local title="$1"
local value="$2" local value="$2"
local max_length=61 local max_length=63
local title_length=${#title} local title_length=${#title}
local separator=": " local separator=": "
local value_length=${#value} local value_length=${#value}

View file

@ -30,7 +30,7 @@ function get_script_version() {
function version_line() { function version_line() {
local content="$1" local content="$1"
local content_length="${#content}" local content_length="${#content}"
local width=$((73)) local width=$((75))
local padding_length=$((width - content_length - 3)) local padding_length=$((width - content_length - 3))
printf " │ %*s%s%s\n" $padding_length '' "$content" " │" printf " │ %*s%s%s\n" $padding_length '' "$content" " │"
} }

View file

@ -23,6 +23,29 @@ function check_connection() {
fi fi
} }
function format_uptime() {
local uptime=$1
local upDays=$((uptime / 60 / 60 / 24))
local upHours=$((uptime / 60 / 60 % 24))
local upMins=$((uptime / 60 % 60))
local output=""
if [ $upDays -gt 0 ]; then
output="$output$upDays day"
[ $upDays -gt 1 ] && output="${output}s"
output="$output "
fi
if [ $upHours -gt 0 ]; then
output="$output$upHours hour"
[ $upHours -gt 1 ] && output="${output}s"
output="$output "
fi
if [ $upMins -gt 0 ] || [ -z "$output" ]; then
output="$output$upMins minute"
[ $upMins -gt 1 ] && output="${output}s"
fi
echo "$output"
}
function system_menu_ui() { function system_menu_ui() {
memfree=`cat /proc/meminfo | grep MemFree | awk {'print $2'}` memfree=`cat /proc/meminfo | grep MemFree | awk {'print $2'}`
memtotal=`cat /proc/meminfo | grep MemTotal | awk {'print $2'}` memtotal=`cat /proc/meminfo | grep MemTotal | awk {'print $2'}`
@ -30,10 +53,8 @@ function system_menu_ui() {
diskused=`df -h | grep /dev/mmcblk0p10 | awk {'print $3 " / " $2 " (" $4 " available)" '}` diskused=`df -h | grep /dev/mmcblk0p10 | awk {'print $3 " / " $2 " (" $4 " available)" '}`
process=`ps ax | wc -l | tr -d " "` process=`ps ax | wc -l | tr -d " "`
uptime=`cat /proc/uptime | cut -f1 -d.` uptime=`cat /proc/uptime | cut -f1 -d.`
upDays=$((uptime/60/60/24)) formatted_uptime=$(format_uptime $uptime)
upHours=$((uptime/60/60%24)) load=`awk -v cpus=2 '{printf "%.2f%% (1 min) | %.2f%% (5 min) | %.2f%% (15 min)\n", $1*100/cpus, $2*100/cpus, $3*100/cpus}' /proc/loadavg`
upMins=$((uptime/60%60))
load=`cat /proc/loadavg | awk {'print $1 " (1 min.) / " $2 " (5 min.) / " $3 " (15 min.)"'}`
device_sn=$(cat /usr/data/creality/userdata/config/system_config.json | grep -o '"device_sn":"[^"]*' | awk -F '"' '{print $4}') device_sn=$(cat /usr/data/creality/userdata/config/system_config.json | grep -o '"device_sn":"[^"]*' | awk -F '"' '{print $4}')
mac_address=$(cat /usr/data/creality/userdata/config/system_config.json | grep -o '"device_mac":"[^"]*' | awk -F '"' '{print $4}' | sed 's/../&:/g; s/:$//') mac_address=$(cat /usr/data/creality/userdata/config/system_config.json | grep -o '"device_mac":"[^"]*' | awk -F '"' '{print $4}' | sed 's/../&:/g; s/:$//')
top_line top_line
@ -46,11 +67,10 @@ function system_menu_ui() {
system_line " Device SN" "$device_sn" system_line " Device SN" "$device_sn"
system_line " IP Address" "$(check_connection)" system_line " IP Address" "$(check_connection)"
system_line "MAC Address" "$mac_address" system_line "MAC Address" "$mac_address"
system_line " CPU Usage" "$load"
system_line " RAM Usage" "$(($memfree/1024)) MB / $(($memtotal/1024)) MB ($pourcent% available)" system_line " RAM Usage" "$(($memfree/1024)) MB / $(($memtotal/1024)) MB ($pourcent% available)"
system_line " Disk Usage" "$diskused" system_line " Disk Usage" "$diskused"
system_line " Uptime" "$upDays days $upHours hours $upMins minutes" system_line " Uptime" "$formatted_uptime"
system_line " Processes" "$process running process"
system_line "System Load" "$load"
hr hr
inner_line inner_line
hr hr