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