over-env/lib/prompt-init
2022-01-31 14:23:12 +01:00

36 lines
1 KiB
Bash
Executable file

#! /bin/zsh
zmodload zsh/datetime
OVER_PROMPT_CFG="/etc/over/env/prompt.cfg"
if [[ -a "$OVER_PROMPT_CFG" ]]; then
source "$OVER_PROMPT_CFG"
fi
# emits garbage on tmux, where it's not really needed anyway
if [[ -n "$TMUX" ]]; then
function __over_prompt_set_title {
if [[ ${TERM} =~ "screen" ]]; then
print -Pn "\033k\033${@}\033\134"
fi
}
else
function __over_prompt_set_title { }
fi
function __over_prompt_preexec {
__over_prompt_set_title "${USER}: ${PWD} -> ${1}"
OVER_PROMPT_CMD_START=${EPOCHSECONDS}
}
function __over_prompt_precmd {
__over_prompt_set_title "${USER}: ${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}"
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
}
unset OVER_PROMPT_CFG
unset RPS1