В xterm, что такое «Имя значка»?

11

При запуске в xterm (или gnome-терминал) следующая команда устанавливает так называемое «имя значка»:

echo -en "\e]1;some_value\a"

Что это делает?

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

Гас
источник

Ответы:

17

Давным-давно существовал оконный менеджер по имени twm - на самом деле он все еще существует и работает отлично. Вместо того, чтобы свернуть окно до панели в нижней части экрана (или аналогичной), такой как MS Windows, Mac OS X и многие современные оконные менеджеры, оно сократило их до обозначенных значков («iconfify»).

В статье Wikipedia twm есть несколько хороших картинок, таких как:

Скриншот из TWM

Заголовок окна - это то, что входит в заголовок (например, «Калькулятор» или «xterm»). Имя значка - это то, что идет под значком при значении («xclock»). Современные менеджеры окон, вероятно, игнорируют имя иконки, потому что они не используют интерфейс иконки.

Полное описание обоих можно найти в ICCCM .

derobert
источник
2
Windows 3 используется для обозначения, как это.
nperson325681
5

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

    iconName (class IconName) 
            Specifies a label for xterm when
            iconified.  Xterm provides no default value; some
            window managers may assume the application name, e.g.,
            "xterm"

            Setting the iconName resource sets the icon label
            unless overridden by zIconBeep or the control sequences
            which change the window and icon labels.

Это означает, что это iconNameне должно быть изображение значка, это просто метка, которая присваивается xtermокну при его значении. Это также можно установить с помощью -nопции:

-n string
        This option specifies the icon name for xterm's windows.  It
        is shorthand for specifying the "iconName" resource.  Note
        that this is not the same as the toolkit option -name (see
        below).  The default icon name is the application name.

После запуска, xtermкак это, с title! = iconNameЯ все еще не вижу ICONстроку, отображаемую после пиктограммы xtermокна (Alt-F9 в fluxbox):

$ xterm -n ICON -T a-new-title

Копая дальше через xtermman-страницу, можно найти ( **мой):

   activeIcon (class ActiveIcon) 
           Specifies whether or not active
           icon windows are to be used when the xterm window is
           iconified, if this feature is compiled into xterm.  The
           active icon is a miniature representation of the
           content of the window and will update as the content
           changes.  Not all window managers necessarily support
           application icon windows.  Some window managers will
           allow you to enter keystrokes into the active icon
           window.  The default is "default".

           Xterm accepts either a keyword (ignoring case) or the
           number shown in parentheses:

           false (0)
                  No active icon is shown.

           true (1) 
                  The active icon is shown.  If you are using
                  twm, use this setting to enable active-icons.

           default (2) 
                  Xterm checks at startup, and shows an
                  active icon only for window managers which it
                  can identify and which are known to support the
                  feature.  **These are fvwm (full support), and
                  window maker (limited).**  A few other windows
                  managers (such as twm and ctwm) support active
                  icons, but do not support the exten- sions which
                  allow xterm to identify the window manager.

activeIconвероятно, не имеет прямого отношения к iconNameфункции, однако дает нам понять, что связанные с иконками функции xtermработают корректно только с некоторыми оконными менеджерами. Я рекомендую Xephyrдля тестирования один fvwmили window makerкак указано на странице руководства:

$ Xephyr :1 -ac -screen 800x600

и в другом терминале:

$ DISPLAY=:1 wmaker

Теперь давайте начнем xtermвнутри window maker: правой кнопкой мыши -> Applications-> Terminals-> xterm. Начните xtermс -nварианта снова:

$ xterm -n ICON -T a-new-title

Щелкните правой кнопкой мыши на строке заголовка и выберите Miniaturize. Теперь вы можете видеть, что xtermзначок на самом деле помечен ICON. Верните его, нажав на него, и увидите, что заголовок есть a-new-title. Вывод заключается в том, что эта iconNameфункция работает только с некоторыми оконными менеджерами, скорее всего, со старыми. Если вы чувствуете себя сильным, вы можете просмотреть window makerисходный код и установить собственный оконный менеджер, если он не поддерживает iconName.

Кстати, для изменения xtermизображения значка смотрите это: /superuser/344320/how-do-i-change-the-icon-of-an-xterm .

Аркадиуш Драбчик
источник
Активные значки в основном представляют собой другое состояние окна - вместо того, чтобы скрывать окно, оно переключается в состояние «значок». Это все еще обычное окно, и программа может рисовать нормально, поэтому при желании состояние программы может отображаться на значке.
Саймон Рихтер