diff --git a/neofetch b/neofetch index ba183598..285fa522 100755 --- a/neofetch +++ b/neofetch @@ -2568,10 +2568,21 @@ get_memory() { "MemFree" | "Buffers" | "Cached" | "SReclaimable") mem_used="$((mem_used-=${b/kB}))" ;; + + # Available since Linux 3.14rc (34e431b0ae398fc54ea69ff85ec700722c9da773). + # If detected this will be used over the above calculation for mem_used. + "MemAvailable") + mem_avail=${b/kB} + ;; esac done < /proc/meminfo - mem_used="$((mem_used / 1024))" + if [[ $mem_avail ]]; then + mem_used=$(((mem_total - mem_avail) / 1024)) + else + mem_used="$((mem_used / 1024))" + fi + mem_total="$((mem_total / 1024))" ;;