diff options
| author | Nicolas Fella <[email protected]> | 2022-12-15 00:56:11 +0100 |
|---|---|---|
| committer | Nicolas Fella <[email protected]> | 2022-12-30 12:33:01 +0000 |
| commit | 6d21deb6e48627922fb223a4281ade46d6d230ec (patch) | |
| tree | 73f35fb0c7c73d71598224e20fd0683070a399c0 /src/CMakeLists.txt | |
| parent | 414311b8c8c2ba7b9adb42e495368039bd33b5ad (diff) | |
Properly use X11 startup ids
When one instance of Dolphin activates another it passes a startupId (X11) / activation token (wayland) along.
On X11 this is passed using the DESKTOP_STARTUP_ID environment variable. The code tries to read that through KStartupInfo::startupId().
That doesn't work though, since Qt at startup reads the environment variable afterwards. However, it is nice enough to allow us to access
it through QX11Info::nextStartupId(). Use that to read the token in the first instance and pass it to the second instance like we do on Wayland
The user-facing impact of this is minimal since KStartupInfo::setNewStartupId internally falls back to KWindowSystem::forceActiveWindow when no
startupId is passed.
Diffstat (limited to 'src/CMakeLists.txt')
| -rw-r--r-- | src/CMakeLists.txt | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7642c5c67..2d7cba790 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -471,6 +471,14 @@ target_link_libraries(dolphin KF5::Crash ) +if (HAVE_X11) + if (QT_MAJOR_VERSION STREQUAL "5") + target_link_libraries(dolphin PRIVATE Qt5::X11Extras) + else() + target_link_libraries(dolphin PRIVATE Qt::GuiPrivate) + endif() +endif() + include(DbusInterfaceMacros) generate_and_install_dbus_interface( |
