diff --git a/kwin-5.11.3/decorations/decoratedclient.h b/kwin-5.11.3/decorations/decoratedclient.h --- a/kwin-5.11.3/decorations/decoratedclient.h +++ b/kwin-5.11.3/decorations/decoratedclient.h @@ -72,6 +72,8 @@ bool hasApplicationMenu() const override; bool isApplicationMenuActive() const override; + void requestShowToolTip(QString &text) override; + void requestHideToolTip() override; void requestClose() override; void requestContextHelp() override; void requestToggleMaximization(Qt::MouseButtons buttons) override; diff --git a/kwin-5.11.3/decorations/decoratedclient.cpp b/kwin-5.11.3/decorations/decoratedclient.cpp --- a/kwin-5.11.3/decorations/decoratedclient.cpp +++ b/kwin-5.11.3/decorations/decoratedclient.cpp @@ -200,6 +200,16 @@ return QColor(); } +void DecoratedClientImpl::requestShowToolTip(QString &text) +{ + Workspace::self()->showToolTip(text); +} + +void DecoratedClientImpl::requestHideToolTip() +{ + Workspace::self()->hideToolTip(); +} + void DecoratedClientImpl::requestShowWindowMenu() { // TODO: add rect to requestShowWindowMenu diff --git a/kwin-5.11.3/kcmkwin/kwindecoration/declarative-plugin/previewclient.h b/kwin-5.11.3/kcmkwin/kwindecoration/declarative-plugin/previewclient.h --- a/kwin-5.11.3/kcmkwin/kwindecoration/declarative-plugin/previewclient.h +++ b/kwin-5.11.3/kcmkwin/kwindecoration/declarative-plugin/previewclient.h @@ -100,6 +100,8 @@ bool hasApplicationMenu() const override; bool isApplicationMenuActive() const override; + void requestShowToolTip(QString &text) override; + void requestHideToolTip() override; void requestClose() override; void requestContextHelp() override; void requestToggleMaximization(Qt::MouseButtons buttons) override; diff --git a/kwin-5.11.3/kcmkwin/kwindecoration/declarative-plugin/previewclient.cpp b/kwin-5.11.3/kcmkwin/kwindecoration/declarative-plugin/previewclient.cpp --- a/kwin-5.11.3/kcmkwin/kwindecoration/declarative-plugin/previewclient.cpp +++ b/kwin-5.11.3/kcmkwin/kwindecoration/declarative-plugin/previewclient.cpp @@ -375,6 +375,16 @@ emit bordersTopEdgeChanged(enabled); } +void PreviewClient::requestShowToolTip(QString &text) +{ + qDebug() << "tooltip show requested with text:" << text; +} + +void PreviewClient::requestHideToolTip() +{ + qDebug() << "tooltip hide requested"; +} + void PreviewClient::requestClose() { emit closeRequested(); diff --git a/kwin-5.11.3/useractions.cpp b/kwin-5.11.3/useractions.cpp --- a/kwin-5.11.3/useractions.cpp +++ b/kwin-5.11.3/useractions.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include #include @@ -1663,6 +1664,16 @@ showWindowMenu(QRect(pos, pos), active_client); } +void Workspace::showToolTip(QString &text) +{ + QPoint pos = QCursor::pos(); + QToolTip::showText(pos, text); +} + +void Workspace::hideToolTip(){ + QToolTip::hideText(); +} + void Workspace::showWindowMenu(const QRect &pos, AbstractClient* cl) { m_userActionsMenu->show(pos, cl); diff --git a/kwin-5.11.3/workspace.h b/kwin-5.11.3/workspace.h --- a/kwin-5.11.3/workspace.h +++ b/kwin-5.11.3/workspace.h @@ -278,6 +278,8 @@ void windowToNextDesktop(AbstractClient* c); void sendClientToScreen(AbstractClient* c, int screen); + void showToolTip(QString &text); + void hideToolTip(); /** * Shows the menu operations menu for the client and makes it active if * it's not already.