En xterm, ¿qué es "Nombre de icono"?

11

Ejecutando en xterm (o gnome-terminal) el siguiente comando establece el llamado "Nombre del icono":

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

¿Qué hace esto?

Tenga en cuenta que es posible establecer "Título de ventana" y "Nombre de icono" en el mismo valor con el mismo comando, por lo que no entiendo cómo "Nombre de icono" podría ser una ruta para, por ejemplo, una imagen.

Gus
fuente

Respuestas:

17

Hace mucho tiempo, había un administrador de ventanas llamado twm; en realidad, todavía existe y funciona perfectamente bien. En lugar de minimizar una ventana a una barra en la parte inferior de la pantalla (o similar) como MS Windows, Mac OS X y muchos administradores de ventanas modernos, los redujo a iconos etiquetados ("iconfify").

El artículo de Wikipedia twm tiene algunas buenas fotos, como:

Captura de pantalla de TWM

El título de la ventana es lo que va en la barra de título (por ejemplo, la "Calculadora" o "xterm"). El nombre del icono es lo que aparece debajo del icono cuando se iconifica (el "xclock"). Los administradores de ventanas modernos probablemente ignoren el nombre del icono porque no usan la interfaz de usuario del icono.

Se puede encontrar una descripción completa de ambos en el ICCCM .

derobert
fuente
2
Windows 3 solía iconificar así.
nperson325681
5

Hablaré xtermaquí: es un software antiguo y gran parte de su terminología está desactualizada. En man xtermeso dice:

    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.

Eso significa que iconNameno debe ser una imagen de icono, es solo una etiqueta que se le da a la xtermventana cuando se iconifica. También se puede configurar con la -nopció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.

Después de comenzar xtermasí, con a title! = iconNameTodavía no puedo ver la ICONcadena que se muestra después de la xtermventana de icono (Alt-F9 en fluxbox):

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

Excavando más a través de la página de xtermmanual uno encuentra (el **mío):

   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.

activeIconprobablemente no esté directamente relacionado con la iconNamefunción, sin embargo, nos da una pista de que las funciones relacionadas con los iconos xtermfuncionan correctamente solo con algunos administradores de ventanas. Recomiendo Xephyrpara probar uno fvwmo window makercomo se especifica en la página de manual:

$ Xephyr :1 -ac -screen 800x600

y en otra terminal:

$ DISPLAY=:1 wmaker

Ahora comencemos xtermadentro window maker: haga clic derecho -> Applications-> Terminals-> xterm. Comience xtermcon la -nopción nuevamente:

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

Haga clic derecho en la barra de título y elija Miniaturize. Ahora puede ver que un xtermicono está realmente etiquetado ICON. Vuelva a hacer clic en él y vea que la barra de título es a-new-title. La conclusión es que la iconNamefunción solo funciona con algunos administradores de ventanas, probablemente los más antiguos. Si se siente fuerte, puede explorar el window makercódigo fuente y parchear su propio administrador de ventanas si no es compatible iconName.

Por cierto, para cambiar la xtermimagen del icono, vea esto: /superuser/344320/how-do-i-change-the-icon-of-an-xterm .

Arkadiusz Drabczyk
fuente
Los iconos activos son básicamente un estado de ventana diferente: en lugar de ocultar la ventana, se cambia al estado de "icono". Sin embargo, esta sigue siendo una ventana normal, y el programa puede dibujar normalmente, por lo que el estado del programa se puede mostrar en el icono si lo desea.
Simon Richter