El siguiente script bash fue publicado en estehilocomo una forma de configurar un título ST (ventana de terminal) en DWM (administrador de ventanas X). Si bien agregar este segmento a by .bashrc tiene el resultado deseado, me gustaría poder usarlo en zsh.
set_title(){
local cmd=$BASH_COMMAND
case $cmd in
fg) cmd=$(jobs %); cmd=${cmd##"${cmd% *} "};;
fg\ *|%*) cmd=$(jobs "${cmd#fg }"); cmd=${cmd##"${cmd% *} "};;
esac
printf '\e]2;%s\e\\' "${TERM%%-*} ${cmd//[$'\e\a']/#}"
}
trap set_title DEBUG
Ya intenté llamarlo como un script bash en mi .zshrc, sin embargo, esto no cambia el título de la ventana como se esperaba. Se agradecería cualquier ayuda para convertir esto para su uso en zsh.
Respuesta1
Podría ser algo como:
TRAPDEBUG() {
[[ $zsh_eval_context[1] = toplevel ]] || return
local cmd=$ZSH_DEBUG_CMD
case $cmd in
(fg)
cmd=$jobtexts[${(k)jobstates[(r)*:+:*]}];;
(('fg '|%)<->)
cmd=$jobtexts[${(M)cmd%%<->}];;
esac
printf '\e]2;%s\e\\' "${TERM%%-*} ${cmd//[$'\e\a']/#}"
}