如何为Linux设置应用程序的桌面图标:KDE,Gnome等?
我有一个在Windows,Linux和Macintosh上运行的跨平台程序。我的Windows版本有一个Icon,但是我不知道如何为我的Linux版本制作一个。
KDE,Gnome等是否有标准格式?或者我必须为每个格式做一些特殊的事情吗?
我的应用程序使用c ++并作为源分发,因此最终用户将使用gcc进行编译。
如果我可以直接在我的exe二进制文件中嵌入图标,那将是最好的选择。
解决方案
对于Gnome和Kde,我们可能希望在应用程序中包含一个桌面文件,该文件定义了如何启动该文件。规格可以在这里找到。如果应用包含安装程序,则可能希望它生成此桌面文件并将其放在正确的位置以进行菜单输入等
带有KDE 4系列的KDE社区开始使用CMake作为构建系统。他们开发了一个CMake宏,该宏知道如何为平台的应用程序设置图标(Windows(嵌入exe),mac(.app捆绑包),linux(.desktop文件)等)。
也许我们可以使用它。
如果我们使用的是预先准备好的F / OSS构建系统之一,例如KDE的CMake支持,那么一旦拥有.desktop文件,这真的很容易:
install(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往往会提供最佳效果,但它们普遍受到PNG和SVG的支持。