From b4657e5e7cae5784fc645629a7eb60d2c5a1d862 Mon Sep 17 00:00:00 2001 From: Vlad Zahorodnii Date: Thu, 17 Nov 2022 20:59:24 +0200 Subject: [PATCH] kdecoration: Port to DecoratedClient::windowClass() It removes the need for X11 and makes window class matching work on wayland. --- kdecoration/breezesettingsprovider.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/kdecoration/breezesettingsprovider.cpp b/kdecoration/breezesettingsprovider.cpp index 8380fb2b..eb4e9896 100644 --- a/kdecoration/breezesettingsprovider.cpp +++ b/kdecoration/breezesettingsprovider.cpp @@ -8,8 +8,6 @@ #include "breezeexceptionlist.h" -#include - #include #include @@ -60,7 +58,7 @@ void SettingsProvider::reconfigure() InternalSettingsPtr SettingsProvider::internalSettings(Decoration *decoration) const { QString windowTitle; - QString className; + QString windowClass; // get the client const auto client = decoration->client().toStrongRef(); @@ -87,15 +85,7 @@ InternalSettingsPtr SettingsProvider::internalSettings(Decoration *decoration) c default: case InternalSettings::ExceptionWindowClassName: { - if (className.isEmpty()) { - // retrieve class name - KWindowInfo info(client->windowId(), {}, NET::WM2WindowClass); - QString window_className(QString::fromUtf8(info.windowClassName())); - QString window_class(QString::fromUtf8(info.windowClassClass())); - className = window_className + QStringLiteral(" ") + window_class; - } - - value = className; + value = windowClass.isEmpty() ? (windowClass = client->windowClass()) : windowClass; break; } }