0 votos

Los temas XQuartz xterm y iTerm y oh-my-zsh no se llevan bien entre sí

¡Normalmente uso iTERM2 con los temas zsh y Oh My Zsh! Mi tema actual utiliza comandos de control de color y una fuente Powerline:

# vim:ft=zsh ts=2 sw=2 sts=2

# Must use Powerline font, for \uE0A0 to render.
ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}\uE0A0 "
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?"
ZSH_THEME_GIT_PROMPT_CLEAN=""

ZSH_THEME_RUBY_PROMPT_PREFIX="%{$fg_bold[red]%}‹"
ZSH_THEME_RUBY_PROMPT_SUFFIX="›%{$reset_color%}"

PROMPT='
%{$fg_bold[grey]%}%n@%m%{$fg_bold[white]%}:%{$fg_bold[green]%}$(shrink_path --fish)%{$reset_color%}$(git_prompt_info)  %{$fg_bold[red]%}%*%{$reset_color%}
$ '

RPROMPT='$(ruby_prompt_info)'

De todos modos. En la rara ocasión en que necesito ejecutar XQuartz con xterm. Debido a la configuración anterior, xterm no puede lidiar con los códigos de color anteriores, y por lo tanto emite un montón de basura después de cada prompt:

garbage after prompt in xterm

He tratado de probar para xterm utilizando el $TERM en mis archivos .zshrc y temáticos, pero siempre es xterm .

Así que mi pregunta, ¿cuál es la mejor manera de detectar el entorno de terminal entre XQuartz xterm y iTerm terminal para que pueda alternar / desactivar el tema?

1voto

yoliho Puntos 340

Pruebe con $TERM_PROGRAM esto se establece por iTerm.app y Terminal.app

Olvidé si está configurado en xterm - pero si no está configurado sería suficiente en este caso.

Como no está establecido el código a utilizar es ponerlo en este bloque

if [[ ! -z "$TERM_PROGRAM" ]]; then 
...
fi

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X