From 8d9607391c0a70f6184588ca31432b595574fdd5 Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Mon, 30 Aug 2021 19:45:26 +0200 Subject: [PATCH] Implement org_kde_plasma_window_management::send_to_output --- src/wayland/plasmawindowmanagement_interface.cpp | 7 +++++++ src/wayland/plasmawindowmanagement_interface.h | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/wayland/plasmawindowmanagement_interface.cpp b/src/wayland/plasmawindowmanagement_interface.cpp index 4b82c620bc..5ffb274281 100644 --- a/src/wayland/plasmawindowmanagement_interface.cpp +++ b/src/wayland/plasmawindowmanagement_interface.cpp @@ -108,6 +108,7 @@ protected: void org_kde_plasma_window_request_leave_virtual_desktop(Resource *resource, const QString &id) override; void org_kde_plasma_window_request_enter_activity(Resource *resource, const QString &id) override; void org_kde_plasma_window_request_leave_activity(Resource *resource, const QString &id) override; + void org_kde_plasma_window_send_to_output(Resource *resource, struct wl_resource *output) override; }; PlasmaWindowManagementInterfacePrivate::PlasmaWindowManagementInterfacePrivate(PlasmaWindowManagementInterface *_q, Display *display) @@ -477,6 +478,12 @@ void PlasmaWindowInterfacePrivate::org_kde_plasma_window_request_leave_activity( Q_EMIT q->leavePlasmaActivityRequested(id); } +void PlasmaWindowInterfacePrivate::org_kde_plasma_window_send_to_output(Resource *resource, struct wl_resource *output) +{ + Q_UNUSED(resource) + Q_EMIT q->sendToOutput(KWaylandServer::OutputInterface::get(output)); +} + void PlasmaWindowInterfacePrivate::setTitle(const QString &title) { if (m_title == title) { diff --git a/src/wayland/plasmawindowmanagement_interface.h b/src/wayland/plasmawindowmanagement_interface.h index 281bf208c8..990d856f65 100644 --- a/src/wayland/plasmawindowmanagement_interface.h +++ b/src/wayland/plasmawindowmanagement_interface.h @@ -14,6 +14,7 @@ class QSize; namespace KWaylandServer { class Display; +class OutputInterface; class PlasmaWindowActivationFeedbackInterfacePrivate; class PlasmaWindowInterface; class PlasmaVirtualDesktopManagementInterface; @@ -309,6 +310,11 @@ Q_SIGNALS: */ void leavePlasmaActivityRequested(const QString &activity); + /** + * Requests sending the window to @p output + */ + void sendToOutput(KWaylandServer::OutputInterface *output); + private: friend class PlasmaWindowManagementInterface; friend class PlasmaWindowInterfacePrivate;