Czym jest „Nazwa ikony” w Xterm?

11

Uruchomiona w xterm (lub gnome-terminal) następujące polecenie ustawia tak zwanąnazwę ikony”:

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

Co to robi?

Zauważ, że można ustawić zarówno „Tytuł okna”, jak i „Nazwę ikony” na tę samą wartość za pomocą tego samego polecenia, więc nie rozumiem, w jaki sposób „Nazwa ikony” może być ścieżką, powiedzmy, obrazu.

Gus
źródło

Odpowiedzi:

17

Dawno temu istniał menedżer okien o nazwie twm - w rzeczywistości nadal istnieje i działa doskonale. Zamiast minimalizować okno do paska u dołu ekranu (lub podobnego), takiego jak MS Windows, Mac OS X i wielu współczesnych menedżerów okien, zmniejszono je do etykietowanych ikon („iconfify”).

Artykuł w Wikipedii twm zawiera kilka ładnych zdjęć, takich jak:

Zrzut ekranu z TWM

Tytuł okna znajduje się na pasku tytułu (np. „Kalkulator” lub „xterm”). Nazwa ikony znajduje się pod ikoną po ikonizacji („xclock”). Współcześni menedżerowie okien prawdopodobnie wszyscy ignorują nazwę ikony, ponieważ nie używają interfejsu użytkownika ikony.

Pełny opis obu można znaleźć w ICCCM .

derobert
źródło
2
Windows 3 zwykł tak ikonizować.
nperson325681,
5

Porozmawiam xtermtutaj: to stare oprogramowanie, a znaczna część jego terminologii jest już nieaktualna. W man xtermtym jest napisane:

    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.

Oznacza to, że iconNamenie może to być obraz ikony, to po prostu etykieta, która jest wyświetlana xtermoknu, gdy jest ikonizowane. Można go również ustawić za pomocą -nopcji:

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

Po uruchomieniu w xtermten sposób, z title! = iconNameNadal nie widzę ICONłańcucha wyświetlanego po ikonicznym xtermoknie (Alt-F9 w fluxbox):

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

Przekopując się dalej, xtermznajduje się ( **mój):

   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.

activeIconprawdopodobnie nie jest bezpośrednio związany z iconNamefunkcją, ale daje nam wskazówkę, że funkcje związane z ikonami xtermdziałają poprawnie tylko z niektórymi menedżerami okien. Polecam Xephyrdo przetestowania jednego fvwmlub window makerokreślonego na stronie podręcznika:

$ Xephyr :1 -ac -screen 800x600

i w innym terminalu:

$ DISPLAY=:1 wmaker

Teraz zacznijmy od xtermśrodka window maker: kliknij prawym przyciskiem myszy -> Applications-> Terminals-> xterm. Zacznij xtermod -nopcji ponownie:

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

Kliknij pasek tytułu prawym przyciskiem myszy i wybierz Miniaturize. Teraz możesz zobaczyć, że xtermikona jest faktycznie oznaczona etykietą ICON. Przynieś go, klikając go i zobacz, że pasek tytułowy jest a-new-title. Wniosek jest taki, że iconNamefunkcja działa tylko z niektórymi menedżerami okien, najprawdopodobniej starszymi. Jeśli czujesz się silny, możesz przejrzeć window makerkod źródłowy i załatać własnego menedżera okien, jeśli nie obsługuje iconName.

BTW, aby zmienić xtermobraz ikony, zobacz: /superuser/344320/how-do-i-change-the-icon-of-an-xterm .

Arkadiusz Drabczyk
źródło
Aktywne ikony to w zasadzie inny stan okna - zamiast ukrywać okno, zostaje ono przełączone do stanu „ikona”. Jest to jednak nadal zwykłe okno, a program może rysować normalnie, więc w razie potrzeby stan programu można wyświetlić na ikonie.
Simon Richter,