diff --git a/debian/control b/debian/control index 49d95589..5213888b 100644 --- a/debian/control +++ b/debian/control @@ -35,7 +35,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, - dde-application-manager (>> 1.2.2), + dde-application-manager (>> 1.2.51), dde-application-wizard-daemon-compat, libdtk6gui(>= 6.0.19), libdtk6declarative(>= 6.0.19), diff --git a/src/ddeintegration/CMakeLists.txt b/src/ddeintegration/CMakeLists.txt index a70b8439..4173c115 100644 --- a/src/ddeintegration/CMakeLists.txt +++ b/src/ddeintegration/CMakeLists.txt @@ -145,3 +145,8 @@ PUBLIC Qt::Concurrent PRIVATE Qt::Core Qt::Gui ${DTK_NS}::Core ${ASQT_NS} launcher-utils) + +if (HAVE_DDE_API_EVENTLOGGER) + target_compile_definitions(dde-integration-dbus PRIVATE HAVE_DDE_API_EVENTLOGGER) + target_link_libraries(dde-integration-dbus PRIVATE DDEAPI::EventLogger) +endif() diff --git a/src/ddeintegration/appmgr.cpp b/src/ddeintegration/appmgr.cpp index 5faf769c..071f5a81 100644 --- a/src/ddeintegration/appmgr.cpp +++ b/src/ddeintegration/appmgr.cpp @@ -184,7 +184,11 @@ bool AppMgr::launchApp(const QString &desktopId) const auto path = amAppIface->path(); QProcess process; process.setProcessChannelMode(QProcess::MergedChannels); +#ifdef HAVE_DDE_API_EVENTLOGGER + process.start("dde-am", {"--by-user", "--launch-type", "dde-launchpad", path}); +#else process.start("dde-am", {"--by-user", path}); +#endif if (!process.waitForFinished()) { qCWarning(logDdeIntegration) << "Failed to launch the desktopId:" << desktopId << process.errorString(); return false;