Как установить значок моего приложения на рабочем столе для Linux:KDE, Gnome и т.д.?

StackOverflow https://stackoverflow.com/questions/119031

  •  02-07-2019
  •  | 
  •  

Вопрос

У меня есть кроссплатформенная программа, которая работает на Windows, Linux и Macintosh.В моей версии Windows есть значок, но я не знаю, как сделать так, чтобы он был в моей сборке Linux.Существует ли стандартный формат для KDE, Gnome и т.д.или мне придется сделать что-то особенное для каждого из них?

Мое приложение написано на c ++ и распространяется как исходный код, поэтому конечный пользователь скомпилирует его с помощью gcc.

Если бы я мог встроить значок непосредственно в мой двоичный файл exe, это было бы лучше всего.

Это было полезно?

Решение

Для Gnome и Kde вы, вероятно, захотите включить в свое приложение файл рабочего стола, который определяет способ его запуска.Спецификацию можно найти здесь.Если у вас есть установщик, включенный в ваше приложение, вы, вероятно, захотите, чтобы он сгенерировал этот файл рабочего стола и разместил его в нужных местах для создания пунктов меню и еще много чего

Другие советы

Если вы используете одну из готовых систем сборки F / OSS, например, KDE с поддержкой CMake, это действительно довольно просто, если у вас есть файл .desktop:

установить (ФАЙЛЫ myapp.desktop ДЛЯ НАЗНАЧЕНИЯ ${XDG_APPS_INSTALL_DIR} ) kde4_add_app_icon(myapp_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/привет *-app-myappname.png")

Если вы создаете свой собственный, подумайте об использовании xdg-утилиты, который включает в себя удобные небольшие скрипты, такие как xdg-desktop-menu (устанавливает пункты меню рабочего стола) и xdg-desktop-icon (устанавливает иконки на рабочий стол) для таких вещей.

Стандарт .desktop уже упоминался в первом комментарии, хотя вы также можете просто взять тот, который уже установлен в вашей системе, и изменить его оттуда.Что касается значков, PNG и SVG поддерживаются в основном, хотя PNG, как правило, по-прежнему дают наилучшие результаты.

Сообщество KDE с серией KDE 4 начало использовать CMake в качестве системы сборки.Они разработали макрос CMake, который знает, как установить значок для вашего приложения независимо от платформы (Windows (встроенный в exe), mac (пакеты приложений), linux (файлы .desktop) и т.д.)

Может быть, тебе это пригодится.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top