お使いのエミュレータに基づいてカスタムzsh-promptを選択してください。

お使いのエミュレータに基づいてカスタムzsh-promptを選択してください。

私は素晴らしいzshプロンプトを得るためにpowerlevel9k-themeを使用します。ただし、必要なプロンプトを取得するために使用するフォントと文字は、私のワークステーション(AndroidのJuiceSSH)にSSHとして接続するために使用する端末エミュレータと互換性がありません。

.zshrcどのエミュレータが使用されているかを「検出」しようとしています。私のワークステーションではgnome-terminalを使用しています。だから私はGNOME固有の変数が存在することを確認する簡単な関数を書いた$VTE_VERSION

## functions.zsh: Choose theme based on emulator
function choosetheme() {
 if [ -n "${VTE_VERSION+1}" ]
 then
     zgen load bhilburn/powerlevel9k powerlevel9k ## fancy theme
 else
     zgen oh-my-zsh themes/avit ## basic theme for Android use
 fi
}

それから私.zshrc

source functions.zsh
choosetheme

ただし、結果として、どのエミュレータがpowerlevel9kプロンプトを表示することになります。

さまざまなエミュレータでさまざまなプロンプト/テーマを持つミッションを完了する方法についてのアイデアはありますか?それとも私が何かを見落としているのでしょうか?

ベストアンサー1

注文する

ps -p$PPID | awk '{print $4}'

2行が返されます。 2行目は正確に使用されている端末エミュレータです。役に立つことを願って=)

おすすめ記事