Enhancing --memory_unit functionality

Improving 0435dcd0cd
- Implementing https://github.com/dylanaraps/neofetch/issues/1170#issuecomment-455576889 to avoid awk usage.
- Adding ability to configure precision of output using `mem_precision` which defaults to `2`.
- Added `tib` to accommodate TiB mentioned in https://github.com/dylanaraps/neofetch/issues/1170#issuecomment-894705941
This commit is contained in:
©TriMoon™ 2022-10-31 13:03:10 +03:00 committed by GitHub
parent ccd5d9f526
commit 67cf02c964
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2802,10 +2802,26 @@ get_memory() {
[[ "$memory_percent" == "on" ]] && ((mem_perc=mem_used * 100 / mem_total)) [[ "$memory_percent" == "on" ]] && ((mem_perc=mem_used * 100 / mem_total))
case $memory_unit in case $memory_unit in
tib)
mem_label=TiB
memory_unit_divider=$((1024 * 1024))
printf -v mem_used "%'.*f" \
${mem_precision:-2} \
$(($mem_used / $memory_unit_divider)).$(($mem_used % $memory_unit_divider))
printf -v mem_total "%'.*f" \
${mem_precision:-2} \
$(($mem_total / $memory_unit_divider)).$(($mem_total % $memory_unit_divider))
;;
gib) gib)
mem_used=$(awk '{printf "%.2f", $1 / $2}' <<< "$mem_used 1024")
mem_total=$(awk '{printf "%.2f", $1 / $2}' <<< "$mem_total 1024")
mem_label=GiB mem_label=GiB
memory_unit_divider=1024
printf -v mem_used "%'.*f" \
${mem_precision:-2} \
$(($mem_used / $memory_unit_divider)).$(($mem_used % $memory_unit_divider))
printf -v mem_total "%'.*f" \
${mem_precision:-2} \
$(($mem_total / $memory_unit_divider)).$(($mem_total % $memory_unit_divider))
;; ;;
kib) kib)