Возможно ли получить текущее имя окна xterm?

В этом LDP Howto показано, как изменить заголовок xterm.

Я знаю, что это также возможно с помощью команды xtitle .

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

Я хотел бы извлечь имя окна xterm перед его изменением, чтобы после завершения длительного действия я смог восстановить заголовок до его предыдущего значения.

Это вроде бы было бы обратным к xtitle … Возможно ли это?

  • Почему нажатие Ctrl-h в xterm + tmux отправляет «^?»?
  • Хранение терминала xterm в режиме реального времени на crunchbang linux debian wheezy
  • Какие современные терминальные программы по-прежнему настраиваются для каждого вызова?
  • Цвета Vim, конфликтующие с терминальными
  • Xterm не загружает цветовые схемы
  • Открытие доступного xterm-окна через скрипт bash
  • Как избежать атак с помощью последовательной атаки в терминалах?
  • 256 Цвета в xterm и tmux
  • 4 Solutions collect form web for “Возможно ли получить текущее имя окна xterm?”

    Используйте скрипт xtitle .

    Существует много вариантов в Интернете, однако я склонен использовать тот, который зависит от xprop

    http://www.shelldorado.com/scripts/cmds/xtitle

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

    Следовательно, вместо этого был введен стек заголовков. Следующая команда сохранит текущее окно и названия значков в стек:

     echo -ne '\e[22t' 

    И это восстановит их:

     echo -ne '\e[23t' 

    Для тривиального (и, вероятно, наиболее распространенного случая), где можно запросить приглашение для текущего xterm, просто используйте xprop -id $WINDOWID WM_NAME . Если вы хотите извлечь значение для манипуляции в сценарии оболочки, вы можете сделать что-то более дорогое, например:

      curtitle=`xprop -id $WINDOWID WM_NAME|awk '{print $3}'|xargs echo` 

    Использование только bash (чтобы избежать вызова awk и xargs):

      curtitle=`xprop -id $WINDOWID WM_NAME` curtitle=`eval echo ${x##*=}` 

    Эхо xargs в первом примере и eval во втором примере просто там, чтобы снять кавычки, которые xprop ставит вокруг значения.

    Замените WM_NAME на WM_ICON, если вы хотите получить имя значка, а не строку в заголовке.

    Если я правильно понял ваш вопрос, вы должны получить текущее название xterm, $PROMPT_COMMAND переменную $PROMPT_COMMAND , например:

     $ echo $PROMPT_COMMAND printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}" 

    и вы можете установить его как (linebreak для удобочитаемости):

     PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]\ 0;%s@%s%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"' 
    Interesting Posts

    Как я могу создать файл, который я получил из stdin без xargs

    Backspace в zsh застрял

    перенаправить вывод скрипта python в файл

    Как можно было бы установить имена сетевых интерфейсов (wifi / ethernet) в arch

    Как переназначить новую строку и возврат каретки независимо от терминала, используемого для подключения?

    Как гарантировать, что установка кикстарта выберет определенный диск?

    Нет аудиовыхода с X11

    Как я могу получить SQL-запросы для отображения в выходном файле?

    Ubuntu 10.04 kvm Скорость гостевой сети виртуальной машины медленная

    Что такое эквивалент Debian для Ubuntu Core / Base?

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

    SMART-тест и состояние здоровья

    Установка только цвета фона или текста на значение по умолчанию

    Каков правильный способ совместного использования каталога с компьютерами Windows с использованием Samba?

    Что символизирует и как я могу узнать, как это сделать?

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