From 14ab4055ffe370b941e231abf5f4e105ee173842 Mon Sep 17 00:00:00 2001 From: Echo J Date: Fri, 7 Mar 2025 11:21:20 +0200 Subject: [PATCH] Reduce app ID hardcoding And rename the relevant build variable to make more sense Signed-off-by: Echo J --- buildconfig/BuildConfig.cpp.in | 2 +- buildconfig/BuildConfig.h | 2 +- launcher/Application.cpp | 4 +-- launcher/CMakeLists.txt | 4 +-- launcher/ui/MainWindow.cpp | 2 +- program_info/CMakeLists.txt | 18 ++++++---- program_info/genicons.sh | 36 ++++++++++--------- ...rismlauncher.PrismLauncher.metainfo.xml.in | 4 +-- ...prismlauncher.qrc => prismlauncher.qrc.in} | 2 +- 9 files changed, 40 insertions(+), 34 deletions(-) rename program_info/{prismlauncher.qrc => prismlauncher.qrc.in} (60%) diff --git a/buildconfig/BuildConfig.cpp.in b/buildconfig/BuildConfig.cpp.in index b48232b43..2124d02ae 100644 --- a/buildconfig/BuildConfig.cpp.in +++ b/buildconfig/BuildConfig.cpp.in @@ -49,7 +49,7 @@ Config::Config() LAUNCHER_DOMAIN = "@Launcher_Domain@"; LAUNCHER_CONFIGFILE = "@Launcher_ConfigFile@"; LAUNCHER_GIT = "@Launcher_Git@"; - LAUNCHER_DESKTOPFILENAME = "@Launcher_DesktopFileName@"; + LAUNCHER_APPID = "@Launcher_AppID@"; LAUNCHER_SVGFILENAME = "@Launcher_SVGFileName@"; USER_AGENT = "@Launcher_UserAgent@"; diff --git a/buildconfig/BuildConfig.h b/buildconfig/BuildConfig.h index ae705d098..099d9b5ca 100644 --- a/buildconfig/BuildConfig.h +++ b/buildconfig/BuildConfig.h @@ -52,7 +52,7 @@ class Config { QString LAUNCHER_DOMAIN; QString LAUNCHER_CONFIGFILE; QString LAUNCHER_GIT; - QString LAUNCHER_DESKTOPFILENAME; + QString LAUNCHER_APPID; QString LAUNCHER_SVGFILENAME; /// The major version number. diff --git a/launcher/Application.cpp b/launcher/Application.cpp index c86b4c7c6..c3477d331 100644 --- a/launcher/Application.cpp +++ b/launcher/Application.cpp @@ -225,7 +225,7 @@ Application::Application(int& argc, char** argv) : QApplication(argc, argv) setApplicationName(BuildConfig.LAUNCHER_NAME); setApplicationDisplayName(QString("%1 %2").arg(BuildConfig.LAUNCHER_DISPLAYNAME, BuildConfig.printableVersionString())); setApplicationVersion(BuildConfig.printableVersionString() + "\n" + BuildConfig.GIT_COMMIT); - setDesktopFileName(BuildConfig.LAUNCHER_DESKTOPFILENAME); + setDesktopFileName(BuildConfig.LAUNCHER_APPID); m_startTime = QDateTime::currentDateTime(); // Don't quit on hiding the last window @@ -1949,4 +1949,4 @@ bool Application::checkQSavePath(QString path) } } return false; -} \ No newline at end of file +} diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt index 6714631c3..56fc4d1ad 100644 --- a/launcher/CMakeLists.txt +++ b/launcher/CMakeLists.txt @@ -811,7 +811,7 @@ SET(LAUNCHER_SOURCES resources/flat_white/flat_white.qrc resources/documents/documents.qrc resources/shaders/shaders.qrc - ../${Launcher_Branding_LogoQRC} + "${CMAKE_CURRENT_BINARY_DIR}/../${Launcher_Branding_LogoQRC}" # Icons icons/MMCIcon.h @@ -1248,7 +1248,7 @@ qt_add_resources(LAUNCHER_RESOURCES resources/flat/flat.qrc resources/documents/documents.qrc resources/shaders/shaders.qrc - ../${Launcher_Branding_LogoQRC} + "${CMAKE_CURRENT_BINARY_DIR}/../${Launcher_Branding_LogoQRC}" ) qt_wrap_ui(PRISMUPDATER_UI diff --git a/launcher/ui/MainWindow.cpp b/launcher/ui/MainWindow.cpp index 526e359f6..a9473ac15 100644 --- a/launcher/ui/MainWindow.cpp +++ b/launcher/ui/MainWindow.cpp @@ -1587,7 +1587,7 @@ void MainWindow::on_actionCreateInstanceShortcut_triggered() if (desktopFilePath.isEmpty()) return; // file dialog canceled by user appPath = "flatpak"; - args.append({ "run", BuildConfig.LAUNCHER_DESKTOPFILENAME }); + args.append({ "run", BuildConfig.LAUNCHER_APPID }); } #elif defined(Q_OS_WIN) diff --git a/program_info/CMakeLists.txt b/program_info/CMakeLists.txt index fd274d420..db6920e20 100644 --- a/program_info/CMakeLists.txt +++ b/program_info/CMakeLists.txt @@ -14,6 +14,8 @@ set(Launcher_DisplayName "Prism Launcher") set(Launcher_Name "${Launcher_CommonName}" PARENT_SCOPE) set(Launcher_DisplayName "${Launcher_DisplayName}" PARENT_SCOPE) +set(Launcher_AppID "org.prismlauncher.PrismLauncher") +set(Launcher_SVGFileName "${Launcher_AppID}.svg") set(Launcher_Copyright "© 2022-2025 Prism Launcher Contributors\\n© 2021-2022 PolyMC Contributors\\n© 2012-2021 MultiMC Contributors") set(Launcher_Copyright_Mac "© 2022-2025 Prism Launcher Contributors, © 2021-2022 PolyMC Contributors and © 2012-2021 MultiMC Contributors" PARENT_SCOPE) set(Launcher_Copyright "${Launcher_Copyright}" PARENT_SCOPE) @@ -21,13 +23,13 @@ set(Launcher_Domain "prismlauncher.org" PARENT_SCOPE) set(Launcher_UserAgent "${Launcher_CommonName}/${Launcher_VERSION_NAME}" PARENT_SCOPE) set(Launcher_ConfigFile "prismlauncher.cfg" PARENT_SCOPE) set(Launcher_Git "https://github.com/PrismLauncher/PrismLauncher" PARENT_SCOPE) -set(Launcher_DesktopFileName "org.prismlauncher.PrismLauncher" PARENT_SCOPE) -set(Launcher_SVGFileName "org.prismlauncher.PrismLauncher.svg" PARENT_SCOPE) +set(Launcher_AppID "${Launcher_AppID}" PARENT_SCOPE) +set(Launcher_SVGFileName "${Launcher_SVGFileName}" PARENT_SCOPE) -set(Launcher_Desktop "program_info/org.prismlauncher.PrismLauncher.desktop" PARENT_SCOPE) +set(Launcher_Desktop "program_info/${Launcher_AppID}.desktop" PARENT_SCOPE) set(Launcher_mrpack_MIMEInfo "program_info/modrinth-mrpack-mime.xml" PARENT_SCOPE) -set(Launcher_MetaInfo "program_info/org.prismlauncher.PrismLauncher.metainfo.xml" PARENT_SCOPE) -set(Launcher_SVG "program_info/org.prismlauncher.PrismLauncher.svg" PARENT_SCOPE) +set(Launcher_MetaInfo "program_info/${Launcher_AppID}.metainfo.xml" PARENT_SCOPE) +set(Launcher_SVG "program_info/${Launcher_SVGFileName}" PARENT_SCOPE) set(Launcher_Branding_ICNS "program_info/prismlauncher.icns" PARENT_SCOPE) set(Launcher_Branding_ICO "program_info/prismlauncher.ico") set(Launcher_Branding_ICO "${Launcher_Branding_ICO}" PARENT_SCOPE) @@ -36,11 +38,13 @@ set(Launcher_Branding_LogoQRC "program_info/prismlauncher.qrc" PARENT_SCOPE) set(Launcher_Portable_File "program_info/portable.txt" PARENT_SCOPE) -configure_file(org.prismlauncher.PrismLauncher.desktop.in org.prismlauncher.PrismLauncher.desktop) -configure_file(org.prismlauncher.PrismLauncher.metainfo.xml.in org.prismlauncher.PrismLauncher.metainfo.xml) +configure_file(${Launcher_AppID}.desktop.in ${Launcher_AppID}.desktop) +configure_file(${Launcher_AppID}.metainfo.xml.in ${Launcher_AppID}.metainfo.xml) configure_file(prismlauncher.rc.in prismlauncher.rc @ONLY) +configure_file(prismlauncher.qrc.in prismlauncher.qrc @ONLY) configure_file(prismlauncher.manifest.in prismlauncher.manifest @ONLY) configure_file(prismlauncher.ico prismlauncher.ico COPYONLY) +configure_file(${Launcher_SVGFileName} ${Launcher_SVGFileName} COPYONLY) if(MSVC) set(Launcher_MSVC_Redist_NSIS_Section [=[ diff --git a/program_info/genicons.sh b/program_info/genicons.sh index cad811822..b62cf4f16 100755 --- a/program_info/genicons.sh +++ b/program_info/genicons.sh @@ -1,5 +1,7 @@ #!/bin/bash +LAUNCHER_APPID="org.prismlauncher.PrismLauncher" + svg2png() { input_file="$1" output_file="$2" @@ -13,13 +15,13 @@ if command -v "inkscape" && command -v "icotool" && command -v "oxipng"; then # Windows ICO d=$(mktemp -d) - svg2png org.prismlauncher.PrismLauncher.svg "$d/prismlauncher_16.png" 16 16 - svg2png org.prismlauncher.PrismLauncher.svg "$d/prismlauncher_24.png" 24 24 - svg2png org.prismlauncher.PrismLauncher.svg "$d/prismlauncher_32.png" 32 32 - svg2png org.prismlauncher.PrismLauncher.svg "$d/prismlauncher_48.png" 48 48 - svg2png org.prismlauncher.PrismLauncher.svg "$d/prismlauncher_64.png" 64 64 - svg2png org.prismlauncher.PrismLauncher.svg "$d/prismlauncher_128.png" 128 128 - svg2png org.prismlauncher.PrismLauncher.svg "$d/prismlauncher_256.png" 256 256 + svg2png ${LAUNCHER_APPID}.svg "$d/prismlauncher_16.png" 16 16 + svg2png ${LAUNCHER_APPID}.svg "$d/prismlauncher_24.png" 24 24 + svg2png ${LAUNCHER_APPID}.svg "$d/prismlauncher_32.png" 32 32 + svg2png ${LAUNCHER_APPID}.svg "$d/prismlauncher_48.png" 48 48 + svg2png ${LAUNCHER_APPID}.svg "$d/prismlauncher_64.png" 64 64 + svg2png ${LAUNCHER_APPID}.svg "$d/prismlauncher_128.png" 128 128 + svg2png ${LAUNCHER_APPID}.svg "$d/prismlauncher_256.png" 256 256 oxipng --opt max --strip all --alpha --interlace 0 "$d/prismlauncher_"*".png" @@ -44,15 +46,15 @@ if command -v "inkscape" && command -v "iconutil" && command -v "oxipng"; then mkdir -p "$d" - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_16x16.png" 16 16 - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_16x16@2.png" 32 32 - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_32x32.png" 32 32 - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_32x32@2.png" 64 64 - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_128x128.png" 128 128 - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_128x128@2.png" 256 256 - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_256x256.png" 256 256 - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_256x256@2.png" 512 512 - svg2png org.prismlauncher.PrismLauncher.bigsur.svg "$d/icon_512x512@2x.png" 1024 1024 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_16x16.png" 16 16 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_16x16@2.png" 32 32 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_32x32.png" 32 32 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_32x32@2.png" 64 64 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_128x128.png" 128 128 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_128x128@2.png" 256 256 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_256x256.png" 256 256 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_256x256@2.png" 512 512 + svg2png ${LAUNCHER_APPID}.bigsur.svg "$d/icon_512x512@2x.png" 1024 1024 oxipng --opt max --strip all --alpha --interlace 0 "$d/icon_"*".png" @@ -63,4 +65,4 @@ else fi # replace icon in themes -cp -v org.prismlauncher.PrismLauncher.svg "../launcher/resources/multimc/scalable/launcher.svg" +cp -v ${LAUNCHER_APPID}.svg "../launcher/resources/multimc/scalable/launcher.svg" diff --git a/program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in b/program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in index 3c542c060..95bb86a27 100644 --- a/program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in +++ b/program_info/org.prismlauncher.PrismLauncher.metainfo.xml.in @@ -1,7 +1,7 @@ - org.prismlauncher.PrismLauncher - org.prismlauncher.PrismLauncher.desktop + @Launcher_AppID@ + @Launcher_AppID@.desktop Prism Launcher Prism Launcher Contributors Custom Minecraft Launcher to easily manage multiple Minecraft installations at once diff --git a/program_info/prismlauncher.qrc b/program_info/prismlauncher.qrc.in similarity index 60% rename from program_info/prismlauncher.qrc rename to program_info/prismlauncher.qrc.in index 4f326c2bc..d1e1cdd13 100644 --- a/program_info/prismlauncher.qrc +++ b/program_info/prismlauncher.qrc.in @@ -1,6 +1,6 @@ - org.prismlauncher.PrismLauncher.svg + @Launcher_AppID@.svg