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

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

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

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

Ответы [ 3 ]

10 голосов
/ 23 сентября 2008

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

3 голосов
/ 18 декабря 2008

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

установка (ФАЙЛЫ myapp.desktop DESTINATION $ {XDG_APPS_INSTALL_DIR}) kde4_add_app_icon (myapp_SRCS "$ {CMAKE_CURRENT_SOURCE_DIR} /hi*-app-myappname.png")

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

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

1 голос
/ 25 сентября 2008

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

Может быть, вы можете использовать его.

...