функция заголовка набора в ударе не работает после применения линии питания

заголовок набора??

Я просто обнаруживаю некоторый прием, который я использую для изменения терминального ударом заголовка на терминале. Здесь, как это работает:

#function set-title() on terminal

function set-title() {
  if [[ -z "$ORIG" ]]; then
  ORIG=$PS1
  fi
  TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}

Я пишу тот код в ~/.bashrc. Таким образом, я могу изменить заголовок и меня не перепутанный, для какого терминала я использую.

ПРЕД ПРОБЛЕМА

Я хочу настроить bash vim и их друг с новым взглядом, таким образом, я использую это руководство парня для установки линии питания и она работает отлично.

ПРОБЛЕМА

Мой set title функция не работает теперь.

ЧТО Я ПРОБУЮ

Сделайте код заголовка набора к вершине .bashrc не работают. (Я знаю, что этот путь глуп),

Запишите это set-title на usr/share/powerline/bindings/bash/powerline.sh не работают, я думаю, что код отличается от .bashrc

Таким образом, как получить мой set-title функция назад?

1
задан 1 April 2018 в 19:21

1 ответ

Ваш метод ("\[\e]2;$*\a\]") (выводит Esc ] ; Ваш заголовок ^ G (Бел) ). Это «последовательность VT100 ESCape» и неправильно обрабатывается ВСЕМИ эмуляторами терминала. Сравните echo $TERM в обеих средах.

Для более портативного подхода установите и используйте xttitle - Changes X terminal emulator window titles. Он встроен в мой ~/.bashrc (команда cd корректирует заголовок):

# from the "xttitle(1)" man page - put info in window title
update_title()
{
    [[ $TERM = xterm ]] || [[ $TERM = xterm-color ]]  && xttitle "[$] ${USER}@${HOSTNAME}:$PWD"
}

cd()
{
    [[ -z "$*" ]] && builtin cd $HOME
    [[ -n "$*" ]] && builtin cd "$*"
    update_title
}
1
ответ дан 7 December 2019 в 15:22

Другие вопросы по тегам:

Похожие вопросы: