From 3fa151b0ce33b108b2098d9d9323ee416882517e Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Wed, 15 Jul 2026 05:46:44 +0200 Subject: [PATCH 1/8] :wrench: Also build for Fedora 45 --- .github/workflows/deploy.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 157ad58..1723a63 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -34,6 +34,8 @@ jobs: version: "43" - distro: fedora version: "44" + - distro: fedora + version: "45" architecture: [ubuntu-26.04, ubuntu-26.04-arm] container: image: ghcr.io/kando-menu/kwin-dev-containers-${{ matrix.target.distro }}-${{ matrix.target.version }}:latest From 654509099aa4e978cc3cd86e1fcaaa518fcb6b27 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Wed, 15 Jul 2026 05:46:59 +0200 Subject: [PATCH 2/8] :green_heart: Add compile test for CI --- .github/workflows/checks.yml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 11011e3..6ed1cfc 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -4,6 +4,7 @@ name: Checks on: + pull_request: push: branches: - "**" @@ -33,3 +34,38 @@ jobs: - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 #v6.0.3 - name: REUSE Compliance Check uses: fsfe/reuse-action@676e2d560c9a403aa252096d99fcab3e1132b0f5 #v6.0.0 + + compile: + name: Compile + runs-on: ${{ matrix.architecture }} + strategy: + matrix: + target: + - distro: ubuntu + version: "25.04" + - distro: ubuntu + version: "25.10" + - distro: ubuntu + version: "26.04" + - distro: fedora + version: "40" + - distro: fedora + version: "41" + - distro: fedora + version: "42" + - distro: fedora + version: "43" + - distro: fedora + version: "44" + - distro: fedora + version: "45" + architecture: [ubuntu-26.04, ubuntu-26.04-arm] + container: + image: ghcr.io/kando-menu/kwin-dev-containers-${{ matrix.target.distro }}-${{ matrix.target.version }}:latest + steps: + - name: Checkout Repository + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 #v6.0.3 + - name: Compile + run: | + cmake -S . -B build + cmake --build build --config Release From 9942c1fc8aba1730bfc2b30dffbe4d324ac464fd Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Wed, 15 Jul 2026 05:49:42 +0200 Subject: [PATCH 3/8] :memo: Add changelog entry --- changelog.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/changelog.md b/changelog.md index ab931c2..75e8e16 100644 --- a/changelog.md +++ b/changelog.md @@ -14,6 +14,14 @@ Security - in case of vulnerabilities. This changelog uses [semantic versioning](https://semver.org) and follows the rules of [Keep a Changelog](http://keepachangelog.com/). +## [KWin Integration 0.3.0](https://github.com/kando-menu/kwin-integration/releases/tag/v0.3.0) + +**Release Date:** 2026-07-15 + +### :tada: Added + +- The plugin is now also built for the upcoming Fedora 45. + ## [KWin Integration 0.2.0](https://github.com/kando-menu/kwin-integration/releases/tag/v0.2.0) **Release Date:** 2026-06-17 From 9dbbd8dc872e16d2654db3adc11195b681429523 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Wed, 15 Jul 2026 06:05:17 +0200 Subject: [PATCH 4/8] :memo: Add changelog entry --- changelog.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index 75e8e16..b2a7937 100644 --- a/changelog.md +++ b/changelog.md @@ -20,7 +20,8 @@ This changelog uses [semantic versioning](https://semver.org) and follows the ru ### :tada: Added -- The plugin is now also built for the upcoming Fedora 45. +- Support for KWin 6.7. Thanks to [@Henry-Denny](https://github.com/Henry-Denny) for this contribution. +- Pre-built binaries for the current version of the upcoming Fedora 45. ## [KWin Integration 0.2.0](https://github.com/kando-menu/kwin-integration/releases/tag/v0.2.0) From 74c7ab3f46862ed74ef84e20070e3365903f57af Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Wed, 15 Jul 2026 06:09:06 +0200 Subject: [PATCH 5/8] :green_heart: Do not fail fast --- .github/workflows/deploy.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 1723a63..aae1038 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,6 +16,7 @@ jobs: name: Compile and Upload Plugin runs-on: ${{ matrix.architecture }} strategy: + fail-fast: false matrix: target: - distro: ubuntu From 9d822e15b817ed8646f799b04bbcf6be1c5322c6 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Wed, 15 Jul 2026 06:11:14 +0200 Subject: [PATCH 6/8] :green_heart: Do not fail fast --- .github/workflows/checks.yml | 1 + .github/workflows/deploy.yml | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 6ed1cfc..a57ee45 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -39,6 +39,7 @@ jobs: name: Compile runs-on: ${{ matrix.architecture }} strategy: + fail-fast: false matrix: target: - distro: ubuntu diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index aae1038..1723a63 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -16,7 +16,6 @@ jobs: name: Compile and Upload Plugin runs-on: ${{ matrix.architecture }} strategy: - fail-fast: false matrix: target: - distro: ubuntu From 07cddd6f8ef7ea824e5962269805c5a5ab233782 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Wed, 15 Jul 2026 06:13:44 +0200 Subject: [PATCH 7/8] :wrench: Use CMake KWin version detection --- src/CMakeLists.txt | 5 +++++ src/plugin/KandoKWinIntegrationPlugin.cpp | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1734613..6b98251 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -31,4 +31,9 @@ elseif(DEFINED KWin_VERSION AND KWin_VERSION VERSION_GREATER_EQUAL "6.3.0") KANDO_KWIN_HAS_TABLET_TOOL_AXIS_PROXIMITY_TABLET_EVENT) else() target_compile_definitions(kandointegration PRIVATE KANDO_KWIN_HAS_TABLET_TOOL_EVENT) +endif() + +# KWin 6.7 changed EffectHandler::clientArea() and removed the screen argument. +if(DEFINED KWin_VERSION AND KWin_VERSION VERSION_GREATER_EQUAL "6.7.0") + target_compile_definitions(kandointegration PRIVATE KANDO_KWIN_HAS_CLIENT_AREA_TWO_ARGS) endif() \ No newline at end of file diff --git a/src/plugin/KandoKWinIntegrationPlugin.cpp b/src/plugin/KandoKWinIntegrationPlugin.cpp index 4b76d0d..e8577cc 100644 --- a/src/plugin/KandoKWinIntegrationPlugin.cpp +++ b/src/plugin/KandoKWinIntegrationPlugin.cpp @@ -10,7 +10,6 @@ #include "KandoKWinIntegrationPlugin.h" -#include #include #include @@ -57,7 +56,7 @@ QVariantMap KandoKWinIntegrationPlugin::getWMInfo() const { const auto windowName = activeWindow ? activeWindow->caption() : QString(); const auto appName = activeWindow ? activeWindow->windowClass() : QString(); -#if (PROJECT_VERSION_MAJOR >= 6) && (PROJECT_VERSION_MINOR >= 7) +#if defined(KANDO_KWIN_HAS_CLIENT_AREA_TWO_ARGS) QRectF workArea = KWin::effects->clientArea(KWin::MaximizeArea, pointerPos.toPoint()); #else QRectF workArea = From 8004e8ee01247df3c0f7c9cdc5f87396654d68a1 Mon Sep 17 00:00:00 2001 From: Simon Schneegans Date: Wed, 15 Jul 2026 06:17:07 +0200 Subject: [PATCH 8/8] :green_heart: Add KWin version print --- .github/workflows/checks.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index a57ee45..1bc2692 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -64,6 +64,27 @@ jobs: container: image: ghcr.io/kando-menu/kwin-dev-containers-${{ matrix.target.distro }}-${{ matrix.target.version }}:latest steps: + - name: Print KWin Version + id: kwin_version + shell: bash + run: | + VERSION="unknown" + + # Ubuntu / Debian containers + if command -v dpkg-query >/dev/null 2>&1; then + VERSION="$(dpkg-query -W -f='${Version}' kwin-dev 2>/dev/null || echo unknown)" + fi + + # Fedora / RPM containers + if [[ "$VERSION" == "unknown" ]] && command -v rpm >/dev/null 2>&1; then + VERSION="$(rpm -q --qf '%{VERSION}' kwin-devel 2>/dev/null || echo unknown)" + fi + + VERSION="${VERSION%%-*}" + VERSION="${VERSION#*:}" + VERSION="${VERSION//[^0-9A-Za-z._-]/_}" + + echo "KWin Version: $VERSION" - name: Checkout Repository uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 #v6.0.3 - name: Compile