Менеджер окон, вероятно, получает эту информацию из файлов .desktop
. (Я могу подтвердить это с помощью GNOME 3 Shell, но в Metacity должно быть то же самое.)
В настоящее время каждая графическая программа устанавливает файл или несколько файлов в /usr/share/applications
(вы можете добавить свой собственный в ~/.local/share/applications
). Это файл в формате INI, содержащий основную информацию об этой программе в соответствии со спецификацией записи рабочего стола: имя, основной исполняемый файл, значок, ... Для запуска программ менеджер окон сопоставляет владельца окна с программой, названной в строке Exec=
.
(Когда вы добавляете элементы в меню GNOME, они автоматически сохраняются в файлах .desktop
.)
Например, я написал следующее как ~/.local/share/applications/xterm.desktop
чтобы у моего Xterm была общая иконка "терминал":
[Desktop Entry]
Name=XTerm
Comment=Use the command line
Exec=xterm
Icon=utilities-terminal
Type=Application
Categories=Utility;TerminalEmulator;
Ключ Icon
может представлять собой абсолютный путь к изображению или имя значка в соответствии со спецификацией Icon Theme. Система поставляется с /usr/share/icons
, и вы можете поместить свой собственный в ~/.local/share/icons
. (Если он не совсем соответствует спецификации именования, то hicolor/256x256/program.png
.)
Обратите внимание, что предпочтительным форматом является PNG, который имеет больше возможностей, чем XPM.