declare-option -docstring %{ Format string passed to printf for the bufferlist. It should be set in the global scope. It receives two string arguments, where the first is the buffer index, and the second is the buffer name. Default: '[%s %s]' } str bar_active_fmt '[%s %s]' declare-option -docstring %{ Format string passed to printf for the bufferlist. It should be set in the global scope. It receives two string arguments, where the first is the buffer index, and the second is the buffer name. Default: '%s %s' } str bar_inactive_fmt '%s %s' define-command -hidden bar-buflist %{ evaluate-commands %sh{ list='' while read buf; do if [ "$buf" = '*debug*' ]; then continue fi index=$(($index + 1)) if [ "$buf" = "$kak_bufname" ]; then cur=$(printf "$kak_opt_bar_active_fmt" "$index" "$buf") else cur=$(printf "$kak_opt_bar_inactive_fmt" "$index" "$buf") fi list="$list $cur" done <<<$(printf '%s\n' "$kak_buflist" | perl -nE 'say for /(\*[^*]+\*|\S+)/g') title="$list - $kak_client@[$kak_session]" printf "set-option -add global ui_options %%{terminal_title=%s}" "$title" } } hook global WinDisplay .* bar-buflist hook global FocusIn .* bar-buflist hook global FocusOut .* bar-buflist hook global WinCreate .* bar-buflist hook global BufClose .* bar-buflist