Was ist in xterm "Icon Name"?

11

Unter xterm (oder gnome-terminal) setzt der folgende Befehl den sogenannten "Icon Name":

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

Was macht das?

Beachten Sie, dass es möglich ist, sowohl "Fenstertitel" als auch "Symbolname" mit demselben Befehl auf denselben Wert festzulegen, sodass ich nicht verstehe, wie "Symbolname" beispielsweise ein Pfad zu einem Bild sein kann.

Gus
quelle

Antworten:

17

Vor langer Zeit gab es einen Fenstermanager namens twm - tatsächlich existiert er noch und läuft einwandfrei. Anstatt ein Fenster auf eine Leiste am unteren Bildschirmrand (oder ähnliches) wie MS Windows, Mac OS X und viele moderne Fenstermanager zu minimieren, wurden sie auf beschriftete Symbole ("iconfify") verkleinert.

Der Wikipedia-Artikel enthält einige schöne Bilder, wie zum Beispiel:

Screenshot von TWM

Der Fenstertitel wird in der Titelleiste angezeigt (z. B. "Rechner" oder "xterm"). Der Symbolname steht unter dem Symbol, wenn er symbolisiert wird (die "Uhr"). Moderne Fenstermanager ignorieren wahrscheinlich alle den Symbolnamen, da sie die Symboloberfläche nicht verwenden.

Eine vollständige Beschreibung von beiden finden Sie im ICCCM .

derobert
quelle
2
Windows 3 wurde früher so symbolisiert.
unperson325680
5

Ich werde hier darüber sprechen xterm: Es ist eine alte Software und ein Großteil ihrer Terminologie ist jetzt veraltet. Darin man xtermsteht:

    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.

Das bedeutet, dass dies iconNamekein xtermSymbolbild sein darf, sondern nur eine Beschriftung, die dem Fenster gegeben wird, wenn es symbolisiert wird. Sie kann auch mit der folgenden -nOption eingestellt werden :

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

Nachdem ich so angefangen xtermhabe, kann mit a title! = Nach dem Symbolisieren des Fensters (Alt-F9 in ) iconNameimmer noch keine ICONZeichenfolge angezeigt werden :xtermfluxbox

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

Wenn man weiter durch die xtermManpage gräbt, findet man ( **meine):

   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.

activeIconist wahrscheinlich nicht direkt mit der iconNameFunktion verbunden, gibt uns jedoch einen Hinweis darauf, dass symbolbezogene Funktionen xtermnur mit einigen Fenstermanagern korrekt funktionieren. Ich empfehle Xephyrzum Testen eines fvwmoder window makerwie in der Manpage angegeben:

$ Xephyr :1 -ac -screen 800x600

und in einem anderen Terminal:

$ DISPLAY=:1 wmaker

Beginnen wir jetzt xtermdrinnen window maker: Rechtsklick -> Applications-> Terminals-> xterm. Beginnen Sie erneut xtermmit der -nOption:

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

Klicken Sie mit der rechten Maustaste auf die Titelleiste und wählen Sie Miniaturize. Jetzt können Sie sehen, dass ein xtermSymbol tatsächlich beschriftet ist ICON. Bringen Sie es zurück, indem Sie darauf klicken und sehen, dass die Titelleiste ist a-new-title. Die Schlussfolgerung ist, dass die iconNameFunktion nur mit einigen Fenstermanagern funktioniert, höchstwahrscheinlich mit älteren. Wenn Sie sich stark fühlen, können Sie den window makerQuellcode durchsuchen und Ihren eigenen Fenstermanager patchen, wenn dies nicht unterstützt wird iconName.

Übrigens: Informationen zum Ändern des xtermSymbolbilds finden Sie unter: /superuser/344320/how-do-i-change-the-icon-of-an-xterm .

Arkadiusz Drabczyk
quelle
Aktive Symbole haben grundsätzlich einen anderen Fensterstatus. Anstatt das Fenster auszublenden, wird es in den Status "Symbol" geschaltet. Dies ist jedoch immer noch ein reguläres Fenster, und das Programm kann normal zeichnen, sodass der Programmstatus auf Wunsch im Symbol angezeigt werden kann.
Simon Richter