From 8464658e42087e20dca0b05cb99a293e6b15bcc4 Mon Sep 17 00:00:00 2001 From: Matin Lotfaliei Date: Mon, 5 Aug 2024 17:21:28 -0700 Subject: [PATCH] Decide QT and KF versions based on KWin (#263) * Decide QT and KF versions based on KWin * Fix private literal QString in KF6 --- CMakeLists.txt | 9 ++++++++- cmake/info.cmake | 10 +--------- cmake/qtversion.cmake | 16 ++++++++-------- src/Effect.cpp | 5 +++-- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d3fbc10..8623b89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,14 @@ project(kwin4_effect_shapecorners VERSION 0.6.2 LANGUAGES CXX) include(cmake/default-vars.cmake) include(cmake/qtversion.cmake) +include(cmake/info.cmake) + +find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH + ${CMAKE_MODULE_PATH} + ${ECM_MODULE_PATH} + ${ECM_KDE_MODULE_DIR} +) include(FeatureSummary) include(KDEInstallDirs) include(KDECMakeSettings) @@ -25,6 +33,5 @@ add_subdirectory(src) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) -include(cmake/info.cmake) include(cmake/test.cmake) include(cmake/pack.cmake) diff --git a/cmake/info.cmake b/cmake/info.cmake index 97923e2..47b318d 100644 --- a/cmake/info.cmake +++ b/cmake/info.cmake @@ -1,9 +1,3 @@ -execute_process( - COMMAND sh -c "ldconfig -v 2>&1 | awk '$1 ~ \"libkwin\" {print $1,$2,$3}'" - OUTPUT_VARIABLE KWIN_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE -) -message("--- KWin Version: ${KWIN_VERSION}") - if(${QT_MAJOR_VERSION} EQUAL 6) set(KWIN_EFFECT_INCLUDE_FILE "/usr/include/kwin/effect/effect.h") else () @@ -13,6 +7,4 @@ execute_process( COMMAND sh -c "grep '#define KWIN_EFFECT_API_VERSION_MINOR' ${KWIN_EFFECT_INCLUDE_FILE} | awk '{print \$NF}'" OUTPUT_VARIABLE KWIN_EFFECT_API_VERSION_MINOR OUTPUT_STRIP_TRAILING_WHITESPACE ) -message("--- KWinEffect Version: ${KWIN_EFFECT_API_VERSION_MINOR}") - -message("") \ No newline at end of file +message("-- KWinEffect Version: ${KWIN_EFFECT_API_VERSION_MINOR}") \ No newline at end of file diff --git a/cmake/qtversion.cmake b/cmake/qtversion.cmake index f348320..dd2a3cf 100644 --- a/cmake/qtversion.cmake +++ b/cmake/qtversion.cmake @@ -1,15 +1,15 @@ +execute_process( + COMMAND sh -c "ldconfig -v 2>&1 | awk '$1 ~ \"libkwin.so\" {print $3}' | cut -d '.' -f 3-" + OUTPUT_VARIABLE KWIN_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE +) +message("-- KWin Version: ${KWIN_VERSION}") + set(KF_MIN_VERSION "5.78") set(QT_MIN_VERSION "5.15") set(QT_MAJOR_VERSION 5) -find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE) -set(CMAKE_MODULE_PATH - ${CMAKE_MODULE_PATH} - ${ECM_MODULE_PATH} - ${ECM_KDE_MODULE_DIR} -) -if(ECM_VERSION VERSION_GREATER "5.200.0") +if(KWIN_VERSION VERSION_GREATER "6") set(QT_MIN_VERSION "6.4.0") set(QT_MAJOR_VERSION 6) - set(KF_MIN_VERSION ${ECM_VERSION}) + set(KF_MIN_VERSION 6) endif() \ No newline at end of file diff --git a/src/Effect.cpp b/src/Effect.cpp index 0fcf986..af336f3 100644 --- a/src/Effect.cpp +++ b/src/Effect.cpp @@ -80,7 +80,8 @@ ShapeCorners::Effect::windowAdded(KWin::EffectWindow *w) } const QSet hardExceptions { - "kwin", "kwin_x11", "kwin_wayland", "kscreenlocker_greet", "ksmserver", "krunner" + QStringLiteral("kwin"), QStringLiteral("kwin_x11"), QStringLiteral("kwin_wayland"), + QStringLiteral("kscreenlocker_greet"), QStringLiteral("ksmserver"), QStringLiteral("krunner") }; const auto name = w->windowClass().split(QChar::Space).first(); if (hardExceptions.contains(name)) { @@ -220,7 +221,7 @@ QString ShapeCorners::Effect::get_window_titles() const { if (!response.contains(window.name)) response.push_back(window.name); } - return response.join("\n"); + return response.join(QStringLiteral("\n")); } void ShapeCorners::Effect::checkTiled() {