From dd62469cc7fb88d31cc85bf246b881ac1a760dc3 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 24 Dec 2020 05:26:15 +0100 Subject: [PATCH] fix ram segment on darwin-arm64 (#1181) Darwin arm64 uses 16kB pages rather than 4kB. Thanks, @johnalanwoods! --- internal/p10k.zsh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 02524a2..e2b450c 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -2594,7 +2594,13 @@ _p9k_prompt_ram_async() { (( free_bytes += match[1] )) [[ $stat =~ 'Pages inactive:[[:space:]]+([0-9]+)' ]] || return (( free_bytes += match[1] )) - (( free_bytes *= 4096 )) + if (( ! $+_p9k__ram_pagesize )); then + local p + (( $+commands[pagesize] )) && p=$(pagesize 2>/dev/null) && [[ $p == <1-> ]] || p=4096 + typeset -gi _p9k__ram_pagesize=p + _p9k_print_params _p9k__ram_pagesize + fi + (( free_bytes *= _p9k__ram_pagesize )) ;; BSD) local stat && stat="$(grep -F 'avail memory' /var/run/dmesg.boot 2>/dev/null)" || return