In xterm, che cos'è "Nome icona"?


11

Eseguendo in xterm (o gnome-terminal) il seguente comando imposta il cosiddetto "Nome icona":

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

Cosa fa questo?

Si noti che è possibile impostare "Titolo finestra" e "Nome icona" sullo stesso valore con lo stesso comando, quindi non capisco come "Nome icona" possa essere un percorso, per esempio, un'immagine.

Risposte:


17

Molto tempo fa, c'era un window manager chiamato twm, in realtà esiste ancora e funziona perfettamente. Invece di ridurre a icona una finestra in una barra nella parte inferiore dello schermo (o simile) come MS Windows, Mac OS X e molti moderni gestori di finestre, li ha ridotti a icone etichettate ("iconfify").

L' articolo twm di Wikipedia ha alcune belle immagini, come:

Schermata di TWM

Il titolo della finestra è ciò che si trova nella barra del titolo (ad esempio, "Calcolatrice" o "xterm"). Il nome dell'icona è ciò che passa sotto l'icona quando iconificato ("xclock"). I moderni gestori di finestre probabilmente ignorano tutti il ​​nome dell'icona perché non usano l'interfaccia utente dell'icona.

Una descrizione completa di entrambi è disponibile nell'ICCCM .


2
Windows 3 usato per iconificare in questo modo.
nperson325681

5

Ne parlerò xtermqui: è un vecchio software e gran parte della sua terminologia è ormai superata. In man xtermesso 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.

Ciò significa che iconNamenon deve essere un'immagine icona, è solo un'etichetta che viene data alla xtermfinestra quando è iconizzata. Può anche essere impostato usando l' -nopzione:

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

Dopo aver iniziato in xtermquesto modo, con a title! = iconNameNon riesco ancora a vedere la ICONstringa mostrata dopo la xtermfinestra dell'icona (Alt-F9 in fluxbox):

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

Scavando ulteriormente attraverso la xtermmanpage si trova (il **mio):

   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.

activeIconprobabilmente non è direttamente correlato alla iconNamefunzionalità, tuttavia ci dà la sensazione che le funzionalità relative alle icone funzionino xtermcorrettamente solo con alcuni gestori di finestre. Consiglio Xephyrdi testarne uno fvwmo window makercome specificato nella manpage:

$ Xephyr :1 -ac -screen 800x600

e in un altro terminale:

$ DISPLAY=:1 wmaker

Ora iniziamo xtermdentro window maker: tasto destro -> Applications-> Terminals-> xterm. Inizia xtermdi -nnuovo con l' opzione:

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

Fare clic con il tasto destro sulla barra del titolo e scegliere Miniaturize. Ora puoi vedere che xtermun'icona è effettivamente etichettata ICON. Riportalo facendo clic su di esso e vedi che la barra del titolo è a-new-title. La conclusione è che la iconNamefunzionalità funziona solo con alcuni gestori di finestre, molto probabilmente quelli più vecchi. Se ti senti forte puoi sfogliare window makeril codice sorgente e patchare il tuo gestore di finestre se non supporta iconName.

A proposito, per cambiare l' xtermimmagine dell'icona vedere questo: /superuser/344320/how-do-i-change-the-icon-of-an-xterm .


Le icone attive sono sostanzialmente uno stato di finestra diverso: invece di nascondere la finestra, passa allo stato di "icona". Questa è comunque una finestra normale e il programma può disegnare normalmente, quindi lo stato del programma può essere mostrato nell'icona se lo si desidera.
Simon Richter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.