No xterm, o que é "Nome do ícone"?

11

Executando no xterm (ou gnome-terminal), o seguinte comando define o chamado "Nome do ícone":

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

O que isso faz?

Observe que é possível definir "Título da janela" e "Nome do ícone" com o mesmo valor com o mesmo comando, portanto não entendo como "Nome do ícone" pode ser o caminho para, digamos, uma imagem.

Gus
fonte

Respostas:

17

Há muito tempo, havia um gerenciador de janelas chamado twm - na verdade, ele ainda existe e funciona perfeitamente bem. Em vez de minimizar uma janela para uma barra na parte inferior da tela (ou similar) como MS Windows, Mac OS X e muitos gerenciadores de janelas modernos, reduziu-os a ícones rotulados ("iconfify").

O artigo da Wikipedia twm tem algumas fotos legais, como:

Captura de tela do TWM

O título da janela é o que se encontra na barra de título (por exemplo, "Calculadora" ou "xterm"). O nome do ícone é o que fica embaixo do ícone quando é ícone (o "xclock"). Todos os gerenciadores de janelas modernos provavelmente ignoram o nome do ícone porque não usam a interface do usuário do ícone.

Uma descrição completa de ambos pode ser encontrada no ICCCM .

derobert
fonte
2
O Windows 3 costumava iconificar assim.
Nt325681
5

Vou falar xtermaqui: é um software antigo e grande parte de sua terminologia está desatualizada. No man xtermque diz:

    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.

Isso significa que iconNamenão deve ser uma imagem de ícone, é apenas um rótulo que é dado à xtermjanela quando é iconificado. Também pode ser definido usando a -nopção:

-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.

Depois de começar xtermassim, com a title! = iconNameAinda não consigo ver a ICONstring sendo mostrada após a xtermjanela de iconificação (Alt-F9 in fluxbox):

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

Indo além na página de xtermmanual encontra-se ( **minha):

   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.

activeIconprovavelmente não está diretamente relacionado ao iconNamerecurso, mas nos dá uma pista de que os recursos relacionados a ícones xtermfuncionam corretamente apenas com alguns gerenciadores de janelas. Eu recomendo Xephyrtestar um fvwmou window makerconforme especificado na página de manual:

$ Xephyr :1 -ac -screen 800x600

e em outro terminal:

$ DISPLAY=:1 wmaker

Agora vamos começar por xtermdentro window maker: clique com o botão direito do mouse -> Applications-> Terminals-> xterm. Comece xtermcom a -nopção novamente:

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

Clique com o botão direito na barra de título e escolha Miniaturize. Agora você pode ver que um xtermícone está realmente marcado ICON. Traga-o de volta clicando nele e veja a barra de título a-new-title. A conclusão é que o iconNamerecurso funciona apenas com alguns gerenciadores de janelas, provavelmente os mais antigos. Se você se sentir forte, poderá procurar o window makercódigo-fonte e corrigir seu próprio gerenciador de janelas, se ele não suportar iconName.

BTW, para alterar a xtermimagem do ícone, consulte: /superuser/344320/how-do-i-change-the-icon-of-an-xterm .

Arkadiusz Drabczyk
fonte
Ícones ativos são basicamente um estado de janela diferente - em vez de ocultar a janela, ele é alternado para o estado "ícone". Essa ainda é uma janela comum, e o programa pode desenhar normalmente, portanto o estado do programa pode ser mostrado no ícone, se desejado.
Simon Richter