diff --git a/CMakeLists.txt b/CMakeLists.txt index 10eb450..d7a7ddc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,6 +86,9 @@ install(TARGETS QEFIEntryManager ) # For AppImage include(GNUInstallDirs) +install(PROGRAMS qefientrymanager-launcher + DESTINATION ${CMAKE_INSTALL_BINDIR} +) install(PROGRAMS qefientrymanager.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications ) diff --git a/qefientrymanager-launcher b/qefientrymanager-launcher new file mode 100755 index 0000000..32364ef --- /dev/null +++ b/qefientrymanager-launcher @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +env_array=( + "XDG_CURRENT_DESKTOP=${XDG_CURRENT_DESKTOP}" + "QT_QPA_PLATFORM=${QT_QPA_PLATFORM}" + "QT_QPA_PLATFORMTHEME=${QT_QPA_PLATFORMTHEME}" + "QT_STYLE_OVERRIDE=${QT_STYLE_OVERRIDE}" +) + +if [[ -z "${WAYLAND_DISPLAY}" ]]; then + env_array+=("DISPLAY=${DISPLAY}" "XAUTHORITY=${XAUTHORITY}") +else + env_array+=("WAYLAND_DISPLAY=${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY}") +fi + +exec pkexec env "${env_array[@]}" QEFIEntryManager "$@" diff --git a/qefientrymanager.desktop b/qefientrymanager.desktop index fbf053a..28e8913 100644 --- a/qefientrymanager.desktop +++ b/qefientrymanager.desktop @@ -5,7 +5,7 @@ Name[zh]=EFI 启动管理器 Comment=Manager your EFI boot entries Comment[x-test]=xxManager your EFI boot entriesxx Comment[zh]=管理您的 EFI 启动项 -Exec=QEFIEntryManager +Exec=qefientrymanager-launcher Icon=cc.inoki.qefientrymanager Type=Application Terminal=false