prompt: don't call the python thing if sysload is high

This commit is contained in:
Martin Sekera 2023-05-21 13:06:52 +02:00
parent 2cebda125e
commit 51cb026d70

View file

@ -30,9 +30,19 @@ function __over_prompt_preexec {
OVER_PROMPT_CMD_START=${EPOCHSECONDS}
}
function __over_prompt_sysload {
LOADAVG=($(< /proc/loadavg))
echo $(($LOADAVG[1] / $(nproc)))
}
function __over_prompt_precmd {
__over_prompt_set_title "${PWD//*\//} (${PWD})"
python3 /usr/share/over-env/prompt.py "${COLUMNS}" "${PWD}" "${OVER_PROMPT_LAST_REFRESH}" "${OVER_PROMPT_SYSLOAD_WARN:=1.25}" "${OVER_PROMPT_SYSLOAD_YELL:=3.0}" "${OVER_PROMPT_FREESPACE_WARN:=0.15}" "${OVER_PROMPT_FREESPACE_YELL:=0.05}" "${OVER_PROMPT_CMD_START}"
LOAD_NORM=$(__over_prompt_sysload)
if [[ $LOAD_NORM -lt 2 ]]; then
python3 /usr/share/over-env/prompt.py "${COLUMNS}" "${PWD}" "${OVER_PROMPT_LAST_REFRESH}" "${OVER_PROMPT_SYSLOAD_WARN:=1.25}" "${OVER_PROMPT_SYSLOAD_YELL:=3.0}" "${OVER_PROMPT_FREESPACE_WARN:=0.15}" "${OVER_PROMPT_FREESPACE_YELL:=0.05}" "${OVER_PROMPT_CMD_START}"
else
echo "Overloaded"
fi
PS1="$(print "%(?.%{\e[1;36m%}.%{\e[1;31m%}%?%{\e[0m%}:%{\e[1;31m%})%(\!.#.$)%{\e[0m%} ")"
OVER_PROMPT_LAST_REFRESH=${EPOCHSECONDS}
OVER_PROMPT_CMD_START=0