From 82154218b92cee59cceb4360cbbaed1b8e3c743f Mon Sep 17 00:00:00 2001 From: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> Date: Sun, 19 Jan 2025 10:53:49 -0500 Subject: [PATCH] fix(packaing/linux): desktop file improvements --- cmake/packaging/linux.cmake | 9 +------ .../prep/special_package_configuration.cmake | 6 ++--- packaging/linux/flatpak/sunshine.desktop | 26 ++++++++++++------- packaging/linux/flatpak/sunshine_kms.desktop | 6 ----- 4 files changed, 19 insertions(+), 28 deletions(-) delete mode 100644 packaging/linux/flatpak/sunshine_kms.desktop diff --git a/cmake/packaging/linux.cmake b/cmake/packaging/linux.cmake index 14b89ead8d1..5ded37411ee 100644 --- a/cmake/packaging/linux.cmake +++ b/cmake/packaging/linux.cmake @@ -128,15 +128,8 @@ else() install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" RENAME "${PROJECT_FQDN}.desktop") - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine_kms.desktop" - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" - RENAME "${PROJECT_FQDN}_kms.desktop") endif() -if(${SUNSHINE_BUILD_FLATPAK}) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine_terminal.desktop" - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications" - RENAME "${PROJECT_FQDN}_terminal.desktop") -elseif(NOT ${SUNSHINE_BUILD_APPIMAGE}) +if(NOT ${SUNSHINE_BUILD_APPIMAGE} AND NOT ${SUNSHINE_BUILD_FLATPAK}) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/sunshine_terminal.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") endif() diff --git a/cmake/prep/special_package_configuration.cmake b/cmake/prep/special_package_configuration.cmake index df1bbb36a6b..298c0226faf 100644 --- a/cmake/prep/special_package_configuration.cmake +++ b/cmake/prep/special_package_configuration.cmake @@ -10,14 +10,12 @@ if(APPLE) endif() elseif(UNIX) # configure the .desktop file - set(SUNSHINE_DESKTOP_ICON "sunshine.svg") + set(SUNSHINE_DESKTOP_ICON "sunshine") if(${SUNSHINE_BUILD_APPIMAGE}) configure_file(packaging/linux/AppImage/sunshine.desktop sunshine.desktop @ONLY) elseif(${SUNSHINE_BUILD_FLATPAK}) - set(SUNSHINE_DESKTOP_ICON "${PROJECT_FQDN}.svg") + set(SUNSHINE_DESKTOP_ICON "${PROJECT_FQDN}") configure_file(packaging/linux/flatpak/sunshine.desktop sunshine.desktop @ONLY) - configure_file(packaging/linux/flatpak/sunshine_kms.desktop sunshine_kms.desktop @ONLY) - configure_file(packaging/linux/sunshine_terminal.desktop sunshine_terminal.desktop @ONLY) configure_file(packaging/linux/flatpak/${PROJECT_FQDN}.metainfo.xml ${PROJECT_FQDN}.metainfo.xml @ONLY) else() diff --git a/packaging/linux/flatpak/sunshine.desktop b/packaging/linux/flatpak/sunshine.desktop index f1753c9cdc3..d5e42e8dd88 100644 --- a/packaging/linux/flatpak/sunshine.desktop +++ b/packaging/linux/flatpak/sunshine.desktop @@ -1,20 +1,26 @@ [Desktop Entry] -Type=Application -Name=@PROJECT_NAME@ -Exec=@PROJECT_FQDN@ -Version=1.0 +Actions=RunInTerminal;KMS; +Categories=AudioVideo;Network;RemoteAccess; Comment=@PROJECT_DESCRIPTION@ +Exec=flatpak run @PROJECT_FQDN@ Icon=@SUNSHINE_DESKTOP_ICON@ Keywords=gamestream;stream;moonlight;remote play; -Categories=AudioVideo;Network;RemoteAccess; -Actions=RunInTerminal;KMS; +Name=@PROJECT_NAME@ +Type=Application +Version=1.0 [Desktop Action RunInTerminal] +Exec=flatpak run @PROJECT_FQDN@ +Icon=@SUNSHINE_DESKTOP_ICON@ Name=Run in Terminal -Icon=application-x-executable -Exec=gio launch @CMAKE_INSTALL_FULL_DATAROOTDIR@/applications/@PROJECT_FQDN@_terminal.desktop +NoDisplay=true +Terminal=true +Type=Application [Desktop Action KMS] +Exec=sudo -i PULSE_SERVER=unix:$(pactl info | awk '/Server String/{print$3}') flatpak run @PROJECT_FQDN@ +Icon=@SUNSHINE_DESKTOP_ICON@ Name=Run in Terminal (KMS) -Icon=application-x-executable -Exec=gio launch @CMAKE_INSTALL_FULL_DATAROOTDIR@/applications/@PROJECT_FQDN@_kms.desktop +NoDisplay=true +Terminal=true +Type=Application diff --git a/packaging/linux/flatpak/sunshine_kms.desktop b/packaging/linux/flatpak/sunshine_kms.desktop deleted file mode 100644 index 59d35d7168c..00000000000 --- a/packaging/linux/flatpak/sunshine_kms.desktop +++ /dev/null @@ -1,6 +0,0 @@ -[Desktop Entry] -Name=@PROJECT_NAME@ (KMS) -Exec=sudo -i PULSE_SERVER=unix:$(pactl info | awk '/Server String/{print$3}') flatpak run @PROJECT_FQDN@ -Terminal=true -Type=Application -NoDisplay=true