From bf743836c1608eae85b6a75f4cff37ae02873fae Mon Sep 17 00:00:00 2001 From: westpain Date: Wed, 27 Dec 2023 16:55:43 +0200 Subject: [PATCH] feat: adapt AyuGram to Flatpak (#10) --- Telegram/CMakeLists.txt | 14 +++++++------- Telegram/Resources/qrc/telegram/telegram.qrc | 2 +- .../SourceFiles/platform/linux/specific_linux.cpp | 8 ++++---- lib/xdg/ayugram.desktop.service | 3 --- ...desktop.desktop => com.ayugram.desktop.desktop} | 2 +- ...tainfo.xml => com.ayugram.desktop.metainfo.xml} | 4 ++-- lib/xdg/com.ayugram.desktop.service | 3 +++ 7 files changed, 18 insertions(+), 18 deletions(-) delete mode 100644 lib/xdg/ayugram.desktop.service rename lib/xdg/{ayugram.desktop.desktop => com.ayugram.desktop.desktop} (97%) rename lib/xdg/{ayugram.desktop.metainfo.xml => com.ayugram.desktop.metainfo.xml} (97%) create mode 100644 lib/xdg/com.ayugram.desktop.service diff --git a/Telegram/CMakeLists.txt b/Telegram/CMakeLists.txt index 355d831c8..6cc03d2b7 100644 --- a/Telegram/CMakeLists.txt +++ b/Telegram/CMakeLists.txt @@ -1934,9 +1934,9 @@ endif() if (LINUX AND DESKTOP_APP_USE_PACKAGED) include(GNUInstallDirs) - configure_file("../lib/xdg/ayugram.desktop.service" "${CMAKE_CURRENT_BINARY_DIR}/ayugram.desktop.service" @ONLY) - configure_file("../lib/xdg/ayugram.desktop.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/ayugram.desktop.metainfo.xml" @ONLY) - generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/ayugram.desktop.metainfo.xml") + configure_file("../lib/xdg/com.ayugram.desktop.service" "${CMAKE_CURRENT_BINARY_DIR}/com.ayugram.desktop.service" @ONLY) + configure_file("../lib/xdg/com.ayugram.desktop.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/com.ayugram.desktop.metainfo.xml" @ONLY) + generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/com.ayugram.desktop.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 "ayugram.png") install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "ayugram.png") @@ -1945,8 +1945,8 @@ if (LINUX AND DESKTOP_APP_USE_PACKAGED) install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "ayugram.png") install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "ayugram.png") install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "ayugram.png") - install(FILES "Resources/icons/tray_monochrome.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "telegram-symbolic.svg") - install(FILES "../lib/xdg/ayugram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ayugram.desktop.service" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services") - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ayugram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo") + install(FILES "Resources/icons/tray_monochrome.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "ayugram-symbolic.svg") + install(FILES "../lib/xdg/com.ayugram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/com.ayugram.desktop.service" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services") + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/com.ayugram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo") endif() diff --git a/Telegram/Resources/qrc/telegram/telegram.qrc b/Telegram/Resources/qrc/telegram/telegram.qrc index d94d26b65..f2f085027 100644 --- a/Telegram/Resources/qrc/telegram/telegram.qrc +++ b/Telegram/Resources/qrc/telegram/telegram.qrc @@ -56,6 +56,6 @@ ../../default_shortcuts-custom.json - ../../../../lib/xdg/ayugram.desktop.desktop + ../../../../lib/xdg/com.ayugram.desktop.desktop diff --git a/Telegram/SourceFiles/platform/linux/specific_linux.cpp b/Telegram/SourceFiles/platform/linux/specific_linux.cpp index f7d5169ee..95a8ff8d8 100644 --- a/Telegram/SourceFiles/platform/linux/specific_linux.cpp +++ b/Telegram/SourceFiles/platform/linux/specific_linux.cpp @@ -198,7 +198,7 @@ bool GenerateDesktopFile( DEBUG_LOG(("App Info: placing .desktop file to %1").arg(targetPath)); if (!QDir(targetPath).exists()) QDir().mkpath(targetPath); - const auto sourceFile = u":/misc/ayugram.desktop.desktop"_q; + const auto sourceFile = u":/misc/com.ayugram.desktop.desktop"_q; const auto targetFile = targetPath + QGuiApplication::desktopFileName() + u".desktop"_q; @@ -319,7 +319,7 @@ bool GenerateDesktopFile( hashMd5Hex(d.constData(), d.size(), md5Hash); if (!Core::Launcher::Instance().customWorkingDir()) { - QFile::remove(u"%1org.telegram.desktop._%2.desktop"_q.arg( + QFile::remove(u"%1ayugram.desktop._%2.desktop"_q.arg( targetPath, md5Hash)); @@ -623,10 +623,10 @@ void start() { md5Hash.data()); } - return u"ayugram.desktop._%1"_q.arg(md5Hash.constData()); + return u"com.ayugram.desktop._%1"_q.arg(md5Hash.constData()); } - return u"ayugram.desktop"_q; + return u"com.ayugram.desktop"_q; }()); LOG(("App ID: %1").arg(QGuiApplication::desktopFileName())); diff --git a/lib/xdg/ayugram.desktop.service b/lib/xdg/ayugram.desktop.service deleted file mode 100644 index 853c53544..000000000 --- a/lib/xdg/ayugram.desktop.service +++ /dev/null @@ -1,3 +0,0 @@ -[D-BUS Service] -Name=ayugram.desktop -Exec=@CMAKE_INSTALL_FULL_BINDIR@/ayugram-desktop diff --git a/lib/xdg/ayugram.desktop.desktop b/lib/xdg/com.ayugram.desktop.desktop similarity index 97% rename from lib/xdg/ayugram.desktop.desktop rename to lib/xdg/com.ayugram.desktop.desktop index 7de9b9096..64e7043e5 100644 --- a/lib/xdg/ayugram.desktop.desktop +++ b/lib/xdg/com.ayugram.desktop.desktop @@ -3,7 +3,7 @@ Name=AyuGram Desktop Comment=Desktop version of AyuGram - ToS breaking Telegram client TryExec=ayugram-desktop Exec=DESKTOPINTEGRATION=1 ayugram-desktop -- %u -Icon=telegram +Icon=ayugram Terminal=false StartupWMClass=AyuGram Type=Application diff --git a/lib/xdg/ayugram.desktop.metainfo.xml b/lib/xdg/com.ayugram.desktop.metainfo.xml similarity index 97% rename from lib/xdg/ayugram.desktop.metainfo.xml rename to lib/xdg/com.ayugram.desktop.metainfo.xml index 1def1027e..1eb5209df 100644 --- a/lib/xdg/ayugram.desktop.metainfo.xml +++ b/lib/xdg/com.ayugram.desktop.metainfo.xml @@ -1,6 +1,6 @@ - ayugram.desktop + com.ayugram.desktop CC0-1.0 GPL-3.0 AyuGram Desktop @@ -73,7 +73,7 @@ none moderate - ayugram.desktop.desktop + com.ayugram.desktop.desktop ayugram-desktop diff --git a/lib/xdg/com.ayugram.desktop.service b/lib/xdg/com.ayugram.desktop.service new file mode 100644 index 000000000..c47c0187d --- /dev/null +++ b/lib/xdg/com.ayugram.desktop.service @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=com.ayugram.desktop +Exec=@CMAKE_INSTALL_FULL_BINDIR@/com.ayugram.desktop