如何为我的应用程序在Linux上设置桌面图标:KDE、Gnome等?

13

我有一个跨平台程序,可以在Windows、Linux和Macintosh上运行。我的Windows版本有一个图标,但我不知道如何为我的Linux版本添加一个图标。 KDE、Gnome等是否有标准格式,还是我需要为每个平台做一些特殊处理?

我的应用程序使用C++编写,并作为源代码分发,因此最终用户将使用gcc进行编译。

如果可以直接将图标嵌入到我的可执行文件二进制文件中,那将是最好的。

3个回答

10

对于Gnome和Kde环境,您可能希望在应用程序中包含一个桌面文件,定义其如何启动。规范可以在此处找到。如果您的应用程序带有安装程序,您可能希望它生成此桌面文件并将其放置在正确的位置以创建菜单项等内容。


3
如果您正在使用预先制作的自由和开源软件构建系统之一,例如KDE的CMake支持,则一旦拥有.desktop文件,这将非常容易:
安装( FILES 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
KDE社区在其KDE 4系列中开始使用CMake作为构建系统。他们开发了一个CMake宏,可以在不考虑平台(Windows(嵌入在exe中),Mac(.app包),Linux(.desktop文件)等)的情况下设置应用程序的图标。

或许你可以使用它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接