Изменение темы Zsh в Android Studio

Я недавно прыгнул на корабль в zsh и я использую Oh my Zsh! тема blinks . В OSX Terminal очень хорошо выглядит, но в терминале Android Studio это очень плохо.

Поэтому мой вопрос заключается в том, есть ли способ проверить, что этот сеанс был открыт в Android Studio, а не в OSX Terminal, и изменить тему zsh соответствии с этим?

введите описание изображения здесь

введите описание изображения здесь

  • Измените разделитель в Zsh% _
  • $ {! FOO} и zsh
  • Запрос Powerline bash не раскрашен в tmux
  • alias -g '$ {1 + "$ @"}' = '"$ @"', что он делает?
  • Zsh preexec - Как обрезать все ведущие отступы от кодового блока?
  • zsh нечувствительность к регистру в середине слова
  • tcsh vs zsh. Символы Escape / Control
  • Когда вы используете расширение скобки?
  • One Solution collect form web for “Изменение темы Zsh в Android Studio”

    Поскольку никто другой не дал вам ответа, я стараюсь, несмотря на совершенно другое программное обеспечение. Итак, это общий ответ о том, как это сделать с любым программным обеспечением. На ум приходят два подхода:

    1. Различные среды

    Откройте терминал и запустите env > env.terminal . Откройте Android Studio и запустите env > env.studio . Теперь в любом из терминалов вы можете запускать diff -dby --suppress-common-lines env.terminal env.studio (если у Mac OS X diff есть эти параметры, а если -U1 работает достаточно хорошо).

    В качестве примера, вот различие между xterm и konsole на моем Linux-поле (обратите внимание: интервал изменен для соответствия на странице):

      > 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 < 

    Некоторые из этих вещей явно звучат от того, как я запустил два разных терминала. Но другие – нет. Если бы я хотел что-то только в XTerm, то, if [ -n "$XTERM_VERSION" ] , казалось бы, был бы неплохим способом сделать это. Аналогично, для Konsole $KONSOLE_PROFILE_NAME будет хорошим (и, вероятно, некоторыми из других).

    2. Различные родительские процессы

    Оболочка знает свой собственный идентификатор процесса, к которому можно получить доступ через $$ . POSIX также имеет $PPID чтобы получить родительский PID напрямую, поэтому я подозреваю, что у вас это тоже в zsh. Если нет, 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 для получения родительского родителя и т. Д.

    Interesting Posts

    Как выбрать оптимальные значения для размера блока и количества блоков для badblocks?

    mv `Список аргументов слишком длинный` для одного файла

    postfix фильтрует входящие письма на основе «mail from» и «rcpt to»

    Что такое «подрезы»?

    Перенаправление порта

    Regex: все греческие буквы с 5 уникальными буквами (это означает, что каждая буква появляется только один раз)

    Прочитайте файл с использованием сценария оболочки и создайте 2 новых файла на основе Название элемента

    Автозаполнение имени файла в каталоге

    Что случилось с моей оперативной памятью?

    Изменить размер раздела / home и переместить / var / www в новый раздел

    Что означают опции ядра в фигурных скобках?

    Как настроить пространство подкачки после установки системы?

    Почему собственная группа не получает исполняемый бит?

    Установите Arch Linux с Wi-Fi, но чипсет Wi-Fi не обнаружен

    Пересылка X11 через SSH

    Linux и Unix - лучшая ОС в мире.