diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index d9bcc80f9..ac8b90c8b 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -1680,7 +1680,6 @@ endif() if (LINUX AND DESKTOP_APP_USE_PACKAGED) include(GNUInstallDirs) - configure_file("../lib/xdg/telegramdesktop.metainfo.xml.in" "${CMAKE_CURRENT_BINARY_DIR}/telegramdesktop.metainfo.xml" @ONLY) generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/telegramdesktop.metainfo.xml") install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}") install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "telegram.png") @@ -1690,6 +1689,6 @@ if (LINUX AND DESKTOP_APP_USE_PACKAGED) install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "telegram.png") install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "telegram.png") install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "telegram.png") - install(FILES "../lib/xdg/telegramdesktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.desktop") - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/telegramdesktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo" RENAME "${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml") + install(FILES "../lib/xdg/telegramdesktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") + install(FILES "../lib/xdg/telegramdesktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo") endif() diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp index 6a63aff42..15498ed09 100644 --- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp @@ -403,6 +403,17 @@ namespace Platform { void start() { QGuiApplication::setDesktopFileName([] { + if (KSandbox::isFlatpak()) { + return qEnvironmentVariable("FLATPAK_ID") + qsl(".desktop"); + } + + if (KSandbox::isSnap()) { + return qEnvironmentVariable("SNAP_INSTANCE_NAME") + + '_' + + cExeName() + + qsl(".desktop"); + } + if (!Core::UpdaterDisabled() && !cExeName().isEmpty()) { const auto appimagePath = qsl("file://%1%2").arg( cExeDir(), @@ -419,7 +430,7 @@ void start() { AppName.utf16().replace(' ', '_')); } - return qsl(QT_STRINGIFY(TDESKTOP_LAUNCHER_BASENAME) ".desktop"); + return qsl("telegramdesktop.desktop"); }()); LOG(("Launcher filename: %1").arg(QGuiApplication::desktopFileName())); diff --git a/Telegram/cmake/telegram_options.cmake b/Telegram/cmake/telegram_options.cmake index 1c3c25431..ff6bd398a 100644 --- a/Telegram/cmake/telegram_options.cmake +++ b/Telegram/cmake/telegram_options.cmake @@ -8,10 +8,6 @@ option(TDESKTOP_API_TEST "Use test API credentials." OFF) set(TDESKTOP_API_ID "0" CACHE STRING "Provide 'api_id' for the Telegram API access.") set(TDESKTOP_API_HASH "" CACHE STRING "Provide 'api_hash' for the Telegram API access.") -if (LINUX) - set(TDESKTOP_LAUNCHER_BASENAME "" CACHE STRING "Desktop file base name.") -endif() - if (TDESKTOP_API_TEST) set(TDESKTOP_API_ID 17349) set(TDESKTOP_API_HASH 344583e45741c457fe1862106095a5eb) @@ -53,8 +49,3 @@ endif() if (DESKTOP_APP_SPECIAL_TARGET) target_compile_definitions(Telegram PRIVATE TDESKTOP_ALLOW_CLOSED_ALPHA) endif() - -if (NOT TDESKTOP_LAUNCHER_BASENAME) - set(TDESKTOP_LAUNCHER_BASENAME "telegramdesktop") -endif() -target_compile_definitions(Telegram PRIVATE TDESKTOP_LAUNCHER_BASENAME=${TDESKTOP_LAUNCHER_BASENAME}) diff --git a/lib/xdg/telegramdesktop.metainfo.xml.in b/lib/xdg/telegramdesktop.metainfo.xml similarity index 98% rename from lib/xdg/telegramdesktop.metainfo.xml.in rename to lib/xdg/telegramdesktop.metainfo.xml index d9ee7635c..40675e798 100644 --- a/lib/xdg/telegramdesktop.metainfo.xml.in +++ b/lib/xdg/telegramdesktop.metainfo.xml @@ -73,7 +73,6 @@ none moderate - @TDESKTOP_LAUNCHER_BASENAME@.desktop telegram-desktop diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index d8014d496..7934511c0 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -17,7 +17,7 @@ apps: telegram-desktop: command: bin/desktop-launch telegram-desktop common-id: org.telegram.desktop - desktop: usr/share/applications/telegram-desktop_telegram-desktop.desktop + desktop: usr/share/applications/telegramdesktop.desktop environment: # Tell glib to use portals on file associations handling. GTK_USE_PORTAL: 1 @@ -127,7 +127,6 @@ parts: - -DTDESKTOP_API_ID=611335 - -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c - -DDESKTOP_APP_USE_PACKAGED_LAZY=ON - - -DTDESKTOP_LAUNCHER_BASENAME=telegram-desktop_telegram-desktop override-pull: | craftctl default