diff --git a/CMakeLists.txt b/CMakeLists.txt index 6ab68cc932..2f26ae85f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -175,13 +175,22 @@ install(FILES COMPONENT Devel ) -ecm_generate_dbus_service_file( - NAME org.freedesktop.FileManager1 - EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/dolphin --daemon" - SYSTEMD_SERVICE plasma-dolphin.service - DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR} - RENAME org.kde.dolphin.FileManager1.service -) +if(FLATPAK) + ecm_generate_dbus_service_file( + NAME org.freedesktop.FileManager1 + EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/dolphin --daemon" + SYSTEMD_SERVICE plasma-dolphin.service + DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR} + ) +else() + ecm_generate_dbus_service_file( + NAME org.freedesktop.FileManager1 + EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/dolphin --daemon" + SYSTEMD_SERVICE plasma-dolphin.service + DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR} + RENAME org.kde.dolphin.FileManager1.service + ) +endif() ecm_install_configured_files(INPUT plasma-dolphin.service.in DESTINATION ${SYSTEMD_USER_UNIT_INSTALL_DIR}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b97a5d7c00..651f021e64 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -340,6 +340,10 @@ target_sources(dolphin PRIVATE main.cpp ) +if(FLATPAK) + target_compile_definitions(dolphin PRIVATE FLATPAK) +endif() + # Sets the icon on Windows and OSX file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*system-file-manager.png") ecm_add_app_icon(dolphin_APPICON_SRCS ICONS ${ICONS_SRCS}) diff --git a/src/main.cpp b/src/main.cpp index cda28c80c7..7a2d42ea5c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -154,7 +154,11 @@ int main(int argc, char **argv) QObject::connect(&app, &QGuiApplication::commitDataRequest, disableSessionManagement); QObject::connect(&app, &QGuiApplication::saveStateRequest, disableSessionManagement); +#ifdef FLATPAK + KDBusService dolphinDBusService(KDBusService::NoExitOnFailure); +#else KDBusService dolphinDBusService; +#endif DBusInterface interface; interface.setAsDaemon(); return app.exec();