diff --git a/CMakeLists.txt b/CMakeLists.txt index c7221854..55356914 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -373,17 +373,13 @@ optional_component(GLOBALSHORTCUTS ON "Global shortcuts" DEPENDS "D-Bus, X11, Windows or macOS" HAVE_GLOBALSHORTCUTS_SUPPORT ) -if(BUILD_WITH_QT6 AND (Qt6Core_VERSION VERSION_EQUAL 6.2.0 OR Qt6Core_VERSION VERSION_GREATER 6.2.0)) - optional_component(X11_GLOBALSHORTCUTS ON "X11 global shortcuts" DEPENDS "X11" X11_FOUND) -else() - if(HAVE_X11EXTRAS OR HAVE_QPA_QPLATFORMNATIVEINTERFACE_H) - set(HAVE_X11EXTRAS_OR_QPA_QPLATFORMNATIVEINTERFACE_H ON) - endif() - optional_component(X11_GLOBALSHORTCUTS ON "X11 global shortcuts" - DEPENDS "X11" X11_FOUND - DEPENDS "Qt >= 6.2, X11Extras or qpa/qplatformnativeinterface.h header" HAVE_X11EXTRAS_OR_QPA_QPLATFORMNATIVEINTERFACE_H - ) +if(HAVE_X11EXTRAS OR HAVE_QPA_QPLATFORMNATIVEINTERFACE_H) + set(HAVE_X11EXTRAS_OR_QPA_QPLATFORMNATIVEINTERFACE_H ON) endif() +optional_component(X11_GLOBALSHORTCUTS ON "X11 global shortcuts" + DEPENDS "X11" X11_FOUND + DEPENDS "X11Extras or qpa/qplatformnativeinterface.h header" HAVE_X11EXTRAS_OR_QPA_QPLATFORMNATIVEINTERFACE_H +) optional_component(AUDIOCD ON "Devices: Audio CD support" DEPENDS "libcdio" LIBCDIO_FOUND diff --git a/src/globalshortcuts/globalshortcut-x11.cpp b/src/globalshortcuts/globalshortcut-x11.cpp index 8862c030..44d93a9a 100644 --- a/src/globalshortcuts/globalshortcut-x11.cpp +++ b/src/globalshortcuts/globalshortcut-x11.cpp @@ -37,14 +37,14 @@ #include #include -#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) -# include -#elif defined(HAVE_X11EXTRAS) +#include + +#if defined(HAVE_X11EXTRAS) # include #elif defined(HAVE_QPA_QPLATFORMNATIVEINTERFACE_H) # include #else -# error "Missing Qt >= 6.2, X11Extras or qpa/qplatformnativeinterface.h header." +# error "Missing X11Extras or qpa/qplatformnativeinterface.h header." #endif const QVector GlobalShortcut::mask_modifiers_ = QVector() << 0 << Mod2Mask << LockMask << (Mod2Mask | LockMask); @@ -87,10 +87,10 @@ Display *X11Display() { quint32 AppRootWindow() { -#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) // 6.2: Use the new native interface. +#if 0 // 6.2: There currently isn't a way to access rootWindow through QX11Application. if (QNativeInterface::QX11Application *x11_app = qApp->nativeInterface()) { - return static_cast(reinterpret_cast(x11_app->connection())); + return static_cast(reinterpret_cast(x11_app->rootWindow())); } else { return 0;