Задайте название динамического окна на основе ввода команды

Я ищу способ динамически установить заголовок окна urxvt на основе ввода команды.

Давайте возьмем пример.

Если я запустил mplayer http://66.197.229.245:8082 в окне urxvt, я бы хотел, чтобы заголовок этого окна был установлен в mplayer http://66.197.229.245:8082 или даже лучше Terminal | mplayer Terminal | mplayer .

Или если я запустил journalctl -b я хочу, чтобы заголовок окна был установлен в Terminal | journalctl -b Terminal | journalctl -b или лучше Terminal | journalctl Terminal | journalctl .

Это возможно?

One Solution collect form web for “Задайте название динамического окна на основе ввода команды”

Предполагая, что вы используете Bash в качестве оболочки, вы можете установить эту переменную.

 PROMPT_COMMAND='echo -ne "\033]0;Terminal | mplayer\007"' 

Примеры

ss # 1

ss # 2

ss # 3

Включить предыдущую команду в заголовок?

Если вам нужна более сложная строка заголовка, вы можете использовать этот метод для динамического задания текущей команды в строке заголовка.

  $ trap 'echo -ne "\033]0;$BASH_COMMAND\007"' DEBUG 

пример

ss # 4

ss # 5

Что вы ищете

Чтобы получить то, что вы хотите, вам нужно будет выполнить некоторую работу, чтобы проанализировать только имя исполняемого файла, например. Поэтому вам нужно будет принять некоторые решения относительно того, какую часть команды вы хотите. Вы можете использовать .. | awk '{print $1}' .. | awk '{print $1}' чтобы получить имя только команды.

Постоянное

Если вы хотите сделать это по умолчанию по вашим файлам /etc/bashrc или $HOME/.bashrc , вам, скорее всего, нужно будет следовать рекомендациям @ simon в этом SO Q & A под названием « Bash – Update terminal title», запустив вторую команду .

Ответ Саймона таков:

 function settitle () { export PREV_COMMAND=${PREV_COMMAND}${@} echo -ne "\033]0;${PREV_COMMAND}\007" export PREV_COMMAND=${PREV_COMMAND}' | ' } export PROMPT_COMMAND=${PROMPT_COMMAND}';export PREV_COMMAND=""' trap 'settitle "$BASH_COMMAND"' DEBUG 

Рекомендации

  • Команда отображения в строке заголовка xterm
  • Bash – обновить заголовок терминала, выполнив вторую команду
  • Как изменить название xterm – 3. Динамические заголовки
  • Команда отображения в строке заголовка xterm
  • Странный вывод на многострочной команде в Китти?
  • Экран GNU: изменение имени нового окна
  • Принудительное название на экране GNU
  • Нет строки заголовка окна, когда аргумент X-Toolkit «-title» заканчивается «блокировкой»,
  • SSH в SSH отображает неправильное имя машины в строке заголовка xterm
  • Уменьшить высоту заголовка в gnome 3 / gtk + 3
  • Изменить заголовок заголовка tmux на текущее имя папки
  • Как заставить терминатор отображать удаленное имя хоста в строке заголовка?
  • Можно ли установить заголовок терминала Gnome для «user @ host» для любого хоста, к которому я подключен?
  • Экран экрана GNU переименовывается всякий раз, когда я набираю команду
  • Linux и Unix - лучшая ОС в мире.