Dans xterm, qu'est-ce que «Nom d'icône»?

11

En cours d'exécution dans xterm (ou gnome-terminal), la commande suivante définit le soi-disant "nom de l'icône":

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

Qu'est-ce que cela fait?

Notez qu'il est possible de définir à la fois "Titre de la fenêtre" et "Nom de l'icône" sur la même valeur avec la même commande, donc je ne comprends pas comment "Nom de l'icône" pourrait être un chemin vers, disons, une image.

Gus
la source

Réponses:

17

Il y a longtemps, il y avait un gestionnaire de fenêtres appelé twm - en fait, il existe toujours et fonctionne parfaitement bien. Au lieu de réduire une fenêtre à une barre en bas de l'écran (ou similaire) comme MS Windows, Mac OS X et de nombreux gestionnaires de fenêtres modernes, il les a réduites à des icônes étiquetées ("iconfify").

L' article de Wikipedia twm contient de belles images, telles que:

Capture d'écran de TWM

Le titre de la fenêtre correspond à ce qui se trouve dans la barre de titre (par exemple, la "calculatrice" ou "xterm"). Le nom de l'icône est ce qui se trouve sous l'icône lorsqu'il est iconifié (le "xclock"). Les gestionnaires de fenêtres modernes ignorent probablement tous le nom de l'icône car ils n'utilisent pas l'interface utilisateur de l'icône.

Une description complète des deux se trouve dans le ICCCM .

derobert
la source
2
Windows 3 utilisé pour iconifier comme ça.
nperson325681
5

Je vais en parler xtermici: c'est un vieux logiciel et une grande partie de sa terminologie est maintenant dépassée. Il man xtermy est écrit:

    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.

Cela iconNamene doit pas être une image d'icône, c'est juste une étiquette qui est donnée à la xtermfenêtre lorsqu'elle est iconifiée. Il peut également être défini à l'aide de l' -noption:

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

Après avoir commencé xtermcomme ça, avec un title! = iconNameJe ne vois toujours pas la ICONchaîne affichée après l'icône de la xtermfenêtre (Alt-F9 dans fluxbox):

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

En creusant plus loin dans la xtermpage de manuel, on trouve (le **mien):

   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.

activeIconn'est probablement pas directement lié à la iconNamefonctionnalité, mais cela nous donne un indice que les fonctionnalités liées aux icônes ne fonctionnent xtermcorrectement qu'avec certains gestionnaires de fenêtres. Je recommande Xephyrpour en tester un fvwmou window makercomme spécifié dans la page de manuel:

$ Xephyr :1 -ac -screen 800x600

et dans un autre terminal:

$ DISPLAY=:1 wmaker

Commençons maintenant à l' xtermintérieur window maker: clic droit -> Applications-> Terminals-> xterm. Recommencez xtermavec l' -noption:

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

Faites un clic droit sur la barre de titre et choisissez Miniaturize. Vous pouvez maintenant voir qu'une xtermicône est réellement étiquetée ICON. Ramenez-le en cliquant dessus et voyez que la barre de titre est a-new-title. La conclusion est que cette iconNamefonctionnalité ne fonctionne qu'avec certains gestionnaires de fenêtres, probablement les plus anciens. Si vous vous sentez fort, vous pouvez parcourir window makerle code source et corriger votre propre gestionnaire de fenêtres s'il ne le prend pas en charge iconName.

BTW, pour changer l' xtermimage de l'icône, voir ceci: /superuser/344320/how-do-i-change-the-icon-of-an-xterm .

Arkadiusz Drabczyk
la source
Les icônes actives sont fondamentalement un état de fenêtre différent - plutôt que de cacher la fenêtre, elle passe à l'état "icône". Cependant, il s'agit toujours d'une fenêtre normale et le programme peut dessiner normalement, de sorte que l'état du programme peut être affiché dans l'icône si vous le souhaitez.
Simon Richter