diff -Naur a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt 2023-11-05 18:30:13.000000000 +0600 +++ b/CMakeLists.txt 2023-11-06 15:00:50.533464058 +0600 @@ -15,7 +15,7 @@ option(UPDATE_TRANSLATIONS "Update source translation translations/*.ts files" OFF) # Minimum Versions -set(KF5_MINIMUM_VERSION "5.101.0") +set(KF5_MINIMUM_VERSION "5.96.0") set(QT_MINIMUM_VERSION "5.15.0") set(QTXDG_MINIMUM_VERSION "3.12.0") diff -Naur a/src/core/core.cpp b/src/core/core.cpp --- a/src/core/core.cpp 2023-11-05 18:30:13.000000000 +0600 +++ b/src/core/core.cpp 2023-11-06 15:02:17.791947696 +0600 @@ -32,8 +32,7 @@ #include #include -#include -#include +#include #include #ifdef X11_XCB_FOUND @@ -269,15 +268,15 @@ if (screen == nullptr) screen = QGuiApplication::screens().at(0); - WId wnd = KX11Extras::activeWindow(); + WId wnd = KWindowSystem::activeWindow(); // this window screenshot will be invalid // if there's no active window or the active window is ours - bool invalid(!wnd || !KX11Extras::hasWId(wnd) || (_wnd && _wnd->winId() == wnd)); + bool invalid(!wnd || !KWindowSystem::hasWId(wnd) || (_wnd && _wnd->winId() == wnd)); if (!invalid) { // or if it isn't on the current desktop KWindowInfo info(wnd, NET::WMDesktop); - invalid = info.valid() && !info.isOnDesktop(KX11Extras::currentDesktop()); + invalid = info.valid() && !info.isOnDesktop(KWindowSystem::currentDesktop()); if (!invalid) { // or if it is a desktop or panel/dock info = KWindowInfo(wnd, NET::WMWindowType);