Я очень давно пользуюсь gnome, и при всех его плюсах есть в нем одна казалось бы простая задача - добавить какой-то собственный бинарник в меню приложений и в док (dock).
И вечно с этим какие-то сложности возникают.
Сегодня я потратил почти час на то, чтобы изучить спеку и наконец-то научился делать ярлычки, ура.
Делюсь опытом (уникальное, в сети такого нету):
1. Чтобы добавить иконочку вам надо создать текстовый файл с расширением
.desktop2. Необходимый минимум для вашего бинарника (в {} указаны плейсхолдеры):
[Desktop Entry]
Type=Application
Name={имя приложения}
Icon={полный путь с ico файлу, символ ~ не поддерживается}
TryExec={полный путь с бинарнику, символ ~ не поддерживается}
Exec={команда запуска бинрника}
Path={рабочая директория бинрника}
Проверить валидность можно с помощью консольной утилиты
desktop-file-validate <your desktop file> 3. Кладем файл в
~/.local/share/applications, ждем 5 сек. Если вам сегодня везет - все готово. Если нет начинается самое интересное.4. Если файл валидный но иконка не появляется, стоит попробовать тригернуть обновление вручную.
update-desktop-database ~/.local/share/applications5. Если иконка появилась но, по клику на нее ничего не происходит:
- добавьте в конец Exec
%u. Не спрашивайте почему.- если совет выше не помог -
gtk-launch <то что вы написали в Name> - смотрим на ошибки.6. Если приложение появилось но не хочет закрепляться в доке в избранном, запустите его, наведите на иконку в доке, посмотрите название которое вывелось в тултипе по ховеру на нее - это название класса окна. Как вариант можно открыть дебаггер гнома (alt + f2) и посмотреть название класса окна там
Добавьте строку в файл
StartupWMClass=<класс окна>Ресурсы для чтения
Спека
Вики