Android StudioでZshテーマを変更する

Android StudioでZshテーマを変更する

私は最近ジャンプしてzsh使用していますオマイZsh!トピックblinks。 OSX端末では本当によさそうですが、Android Studio端末では不都合に見えます。

だから私の質問はこのセッションがOSX端末の代わりにAndroid Studioで開かれていることを確認し、zshそれに応じてテーマを変更する方法はありますか?

ここに画像の説明を入力してください。

ここに画像の説明を入力してください。

答え1

誰もあなたに答えることができないので、まったく異なるソフトウェアを持っているにもかかわらず、まだ試しています。これを行う方法の一般的な答えは次のとおりです。どのソフトウェア。私は2つの方法を考えました。

1.さまざまな環境

端末を開き、を実行しますenv > env.terminal。 Android Studioを開き、実行しますenv > env.studio。これで、2つの端末のいずれかで実行できるようになりますdiff -dby --suppress-common-lines env.terminal env.studio(Mac OS X diffに対応するオプションがある場合、-U1正しく動作しない場合)。

たとえば、私のLinuxコンピュータとLinuxコンピュータのxterm違いは次のとおりですkonsole(注:ページに合わせて間隔を変更してください)。

                                   > PROFILEHOME=
                                   > SHELL_SESSION_ID=1e8d5ab2d16641668485f991a1beffe3
                                   > QSG_RENDER_LOOP=
                                   > COLORTERM=truecolor
XTERM_SHELL=/bin/bash              <
                                   > KONSOLE_DBUS_SESSION=/Sessions/1
XTERM_VERSION=XTerm(327)           | KONSOLE_DBUS_WINDOW=/Windows/1
TERM=xterm                         <
                                   > TERM=xterm-256color
                                   > KONSOLE_DBUS_SERVICE=:1.1514
                                   > QMLSCENE_DEVICE=
                                   > KONSOLE_PROFILE_NAME=Default
                                   > COLORFGBG=15;0
WINDOWID=83886094                  | WINDOWID=115343366
XAUTHORITY=/tmp/xauth-1000-_0      | XAUTHORITY=/home/anthony/.Xauthority
KDED_STARTED_BY_KDEINIT=1          <
XTERM_LOCALE=en_US.UTF-8           <

これらのいくつかは、2つの異なる端末を起動したときに発生するノイズのようです。しかし、他の人はそうではありません。 XTermで何かが欲しいなら、それはif [ -n "$XTERM_VERSION" ]良いアプローチのようです。繰り返しますが、これはKonsole(そしておそらく他のいくつかの製品)にとって$KONSOLE_PROFILE_NAME良い選択です。

2. 親プロセスが異なります。

シェルは独自のプロセスIDを知っており、$$POSIXは$PPID親PIDを直接取得する必要があるため、zshにもこのIDがあると考えられます。そうでない場合は、次のpsアドレスから入手できますppid=$(ps -o ppid= $$)。その後、コマンドを実行するか、psを使用できます。

xterm:~$ ps -o args= $PPID
/usr/bin/xterm

konsole:~$ ps -o args= $PPID
/usr/bin/konsole

-o comm=これを試してみることもできます)。

シェルスクリプトでは:

ppid=$(ps -o ppid= $$)   # if you don't have PPID for some reason
if [ "$(ps -o args= $ppid)" = "/usr/bin/xterm" ]; then
  echo "do xterm stuff"
fi

プロセスツリーについてさらに詳しく知りたい場合は、ps親の親のインポートなどを使用できます。

関連情報