typeset -gi _pacman_check_time typeset -gi _mail_count typeset -gi _upgrade_packages function prompt_docker_host() { p10k segment -b blue -i '' -t "${DOCKER_HOST#*://}" -c "${DOCKER_HOST#*://}" } typeset -g POWERLEVEL9K_DOCKER_HOST_SHOW_ON_COMMAND='docker' function prompt_dbus_mpris() { typeset -g _mpris_LASTRESP="${_mpris_RESP:-0}" typeset -g _mpris_RESP="$(busctl --user --json=short get-property org.mpris.MediaPlayer2.mpv /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player Metadata 2>/dev/null | jq '.data')" if [[ $_mpris_RESP != $_mpris_LASTRESP ]]; then typeset -g _mpris_RFMT="$(print ${_mpris_RESP} | jq --raw-output '."xesam:title".data // ""')" local ARTIST="$(print ${_mpris_RESP} | jq --raw-output '."xesam:artist".data[0] // ""')" [ ! -z ${ARTIST} ] && _mpris_RFMT="${ARTIST} - ${_mpris_RFMT%% \(*\)}" fi p10k segment -b purple -i '' -t "${_mpris_RFMT}" -c "${_mpris_RFMT}" } function prompt_new_mail() { _mail_count=(~/Mail/*/Inbox/new/*(.N)) (( ${#_mail_count} > 0 )) || return p10k segment -b yellow -i '' -t "${#_mail_count}" } function prompt_pacman_upgrade() { local -a stats zstat -A stats +mtime -- /var/lib/pacman/sync 2>/dev/null if [[ $stats[1] != $_pacman_check_time ]]; then _upgrade_packages=$(pacman -Qu | wc -l) _pacman_check_time=$stats[1] fi (( $_upgrade_packages > 0 )) || return p10k segment -b cyan -i '' -t "${_upgrade_packages}" } typeset -g POWERLEVEL9K_PACMAN_UPGRADE_SHOW_ON_COMMAND='pacman' function prompt_covid_19() { local tmpfile=~/.cache/covidres local -a stats zstat -A stats +mtime -- $tmpfile 2>/dev/null if [[ $stats[1] < $(($epochtime[1]-86400)) ]]; then local result=$(curl -sL https://api.covid19api.com/country/germany/status/confirmed/live | jq -e '.[-1].Cases') [ ! -z $result ] && print $result > $tmpfile fi p10k segment -b red -i '' -t "$(< $tmpfile)" }