diff --git a/custom.zsh b/custom.zsh index e253729..6b291f9 100644 --- a/custom.zsh +++ b/custom.zsh @@ -2,6 +2,6 @@ source "${ZDOTDIR}/custom/prependsudo.zsh" source "${ZDOTDIR}/custom/aliases.zsh" source "${ZDOTDIR}/custom/gpg.zsh" fpath+=("${ZDOTDIR}/custom/functions" "${ZDOTDIR}/custom/segments") -function {prompt_c_{covid_19,docker_host,mpv_mpris,new_mail,todo,weather,youtube},cprompts:cache:async:{covid,weather},get{mangareader,nhentai},gitsubrepo,osutab,ffmpeg-{compress,gif}}() { +function {prompt_c_{covid_19,docker_host,mpv_mpris,new_mail,todo,weather,youtube,mumble},cprompts:cache:async:{covid,weather},get{mangareader,nhentai},gitsubrepo,osutab,ffmpeg-{compress,gif}}() { autoload -X } diff --git a/custom/segments/prompt_c_mumble b/custom/segments/prompt_c_mumble new file mode 100644 index 0000000..9568c97 --- /dev/null +++ b/custom/segments/prompt_c_mumble @@ -0,0 +1,9 @@ +([ -v commands\[busctl\] ] && [ -v commands\[jq\] ]) || return +typeset -g _cprompts_mumble=("" "") +local muted=($(busctl get-property --timeout=300ms --user net.sourceforge.mumble.mumble / net.sourceforge.mumble.Mumble mute 2>/dev/null)) +[ -z $muted[2] ] && return +local chan="$(busctl call -j --no-pager --timeout=300ms --user net.sourceforge.mumble.mumble / net.sourceforge.mumble.Mumble getCurrentUrl 2>/dev/null)" +local _chan=$(print $chan | jq -er '(.data[0] // empty)') +_cprompts_mumble[1]="${(g::)${${${_chan:gs/%/\\x}##mumble\:\/\/*\/}%\?*}}" +[[ $muted[2] = "true" ]] && _cprompts_mumble[2]="" +[ -z $_cprompts_mumble[1] ] || p10k segment -b green -i ${_cprompts_mumble[2]} -t "${_cprompts_mumble[1]}" diff --git a/powerlevel-config/prompt-elements.zsh b/powerlevel-config/prompt-elements.zsh index 192160d..740fb63 100644 --- a/powerlevel-config/prompt-elements.zsh +++ b/powerlevel-config/prompt-elements.zsh @@ -20,6 +20,7 @@ POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS+=( c_todo c_new_mail # c_youtube +# c_mumble c_weather c_covid_19 )