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

我有一个在Windows,Linux和Macintosh上运行的跨平台程序。 我的Windows版本有一个图标,但我不知道如何使我的Linux版本有一个。 有没有KDE,Gnome等的标准格式,或者我将不得不做一些特别的每一个?

我的应用程序是在c ++中,并作为源代码分发,所以最终用户将使用gcc编译它。

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

对于Gnome和Kde,您可能需要在您的应用程序中包含一个桌面文件,以定义它将如何启动。 规格可以在这里找到。 如果您的应用程序中包含安装程序,则可能希望将其生成此桌面文件,并将其放在正确的位置以进行菜单输入以及什么

如果您使用的是预先发布的F / OSS构建系统之一,例如KDE的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仍倾向于给出最好的结果。

KDE社区与KDE 4系列开始使用CMake作为构建系统。 他们开发了一个CMake宏,知道如何为平台的应用程序设置一个图标(windows(嵌入到exe),mac(.app bundles),linux(.desktop文件)等)

也许你可以使用它。