Как настроить 'экран' для изменения заголовка окна и xterm-заголовка-окна?

Как насчет визуального Regexp?

http://laurent.riesterer.free.fr/regexp/screenshot2.png

5
17.10.2012, 15:08
2 ответа

Неполное решение состояло бы в том, чтобы изменить Ваш $PS1 запросите однажды в экране GNU. Запустите путем изменения файла RC оболочки (т.е. ~/.bashrc). Ищите оператор выбора, который оценивает $TERM:

case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

Добавьте следующее до выгоды все (т.е. *)):

screen)
    PS1='\e]0;\u@\h:\w\a\ek\u@\h:\w\e\\\u@\h:\w$(__git_ps1 "(%s)")\$ '
    ;;

Это изменит Ваш hardstatus: \e]0;...\a

Это изменит Ваш заголовок окна: \ek...\e\\

hardstatus не обнаружится, если Вы не настроили его, чтобы сделать так. Например, Вы могли добавить следующее к Вашему .screenrc:

hardstatus alwayslastline

Комплекс hardstatus string опции продолжат работать. Можно занять место теперь динамичный, сохранил hardstatus для текущего использования окна %h:

hardstatus string '%{= kw}[ %h ] %=%{w}[ %{r}%l%{w} ]%{w}[%{y} %Y-%m-%d %C %A %{w}]%{w}'

Это установит hardstatus строку на сохраненный hardstatus между двумя скобками на левой стороне экрана и загрузки ЦП направо наряду с датой и временем.

Пример:

 [ username@host:~ ]                    [ 0.00 0.01 0.00 ][ 2012-11-27  4:13 PM ]

ПРОТЕСТЫ

  1. Это, скорее всего, повредит Ваше смещение курсора в отзыве истории Вашей оболочки. (Поразите свою стрелку вверх несколько раз, затем попытайтесь отредактировать ту строку. Вы будете видеть то, что я имею в виду.) Это вызвано тем, что большинство оболочек использует длину для $PS1, и это будет включать непечатаемые символы, добавленные к $PS1.

  2. Это, скорее всего, повредит xterm строку заголовка, "замораживая" его к последнему набору состояния до рабочего экрана GNU. То, что интересно, - то, что приложения как энергия, которые обновляют строку заголовка, продолжат работать.

  3. Установка Manually экранный заголовок (т.е. C-A A) будет все еще работать, пока командная строка не обновляется.

2
27.01.2020, 20:42

с bash, чтобы динамически изменять заголовок экрана на $ YourVariable (переменная заголовка screenrc% t) export PROMPT_COMMAND = "echo -ne '\ 033k $ YourVariable \ 033 \\ '"

Можно также использовать hardstatus (переменная заголовка screenrc% h) , если не внутри" screen ", изменит заголовок окна (эмулятора терминала)
export PROMPT_COMMAND =" echo -ne' \ 033] 0; $ YourVariable \ 007 '"

0
27.01.2020, 20:42

Теги

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