Merge pull request #167 from doronbehar/autostart-path

autostart: Enable setting via cmake Exec= path
This commit is contained in:
Martchus 2022-12-10 12:24:15 +01:00 committed by GitHub
commit 6ff0f80e49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -116,6 +116,17 @@ if (SYNCTHING_WIDGETS_LOG_JAVASCRIPT_CONSOLE)
message(WARNING "JavaScript console of web view will be logged to stderr")
endif ()
# configure autostart .desktop file exec path
set(AUTOSTART_EXEC_PATH
""
CACHE STRING "Set the Exec= path for Linux' autostart/syncthingtray.desktop file - useful for Nix & Guix")
if (AUTOSTART_EXEC_PATH)
set_property(
SOURCE settings/settingsdialog.cpp
APPEND
PROPERTY COMPILE_DEFINITIONS SYNCTHINGWIDGETS_AUTOSTART_EXEC_PATH="${AUTOSTART_EXEC_PATH}")
endif ()
# link also explicitly against the following Qt modules
list(APPEND ADDITIONAL_QT_MODULES Network Concurrent)

View File

@ -806,7 +806,10 @@ bool setAutostartEnabled(bool enabled)
desktopFile.write("[Desktop Entry]\n"
"Name=" APP_NAME "\n"
"Exec=\"");
desktopFile.write(qEnvironmentVariable("APPIMAGE", QCoreApplication::applicationFilePath()).toUtf8().data());
#ifndef SYNCTHINGWIDGETS_AUTOSTART_EXEC_PATH
#define SYNCTHINGWIDGETS_AUTOSTART_EXEC_PATH QCoreApplication::applicationFilePath()
#endif
desktopFile.write(qEnvironmentVariable("APPIMAGE", SYNCTHINGWIDGETS_AUTOSTART_EXEC_PATH).toUtf8().data());
desktopFile.write("\" qt-widgets-gui --single-instance\nComment=" APP_DESCRIPTION "\n"
"Icon=" PROJECT_NAME "\n"
"Type=Application\n"