Implement org_kde_plasma_window_management::send_to_output

This commit is contained in:
Aleix Pol 2021-08-30 19:45:26 +02:00
parent 525d12bee5
commit 8d9607391c
2 changed files with 13 additions and 0 deletions

View file

@ -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_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_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_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) PlasmaWindowManagementInterfacePrivate::PlasmaWindowManagementInterfacePrivate(PlasmaWindowManagementInterface *_q, Display *display)
@ -477,6 +478,12 @@ void PlasmaWindowInterfacePrivate::org_kde_plasma_window_request_leave_activity(
Q_EMIT q->leavePlasmaActivityRequested(id); 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) void PlasmaWindowInterfacePrivate::setTitle(const QString &title)
{ {
if (m_title == title) { if (m_title == title) {

View file

@ -14,6 +14,7 @@ class QSize;
namespace KWaylandServer namespace KWaylandServer
{ {
class Display; class Display;
class OutputInterface;
class PlasmaWindowActivationFeedbackInterfacePrivate; class PlasmaWindowActivationFeedbackInterfacePrivate;
class PlasmaWindowInterface; class PlasmaWindowInterface;
class PlasmaVirtualDesktopManagementInterface; class PlasmaVirtualDesktopManagementInterface;
@ -309,6 +310,11 @@ Q_SIGNALS:
*/ */
void leavePlasmaActivityRequested(const QString &activity); void leavePlasmaActivityRequested(const QString &activity);
/**
* Requests sending the window to @p output
*/
void sendToOutput(KWaylandServer::OutputInterface *output);
private: private:
friend class PlasmaWindowManagementInterface; friend class PlasmaWindowManagementInterface;
friend class PlasmaWindowInterfacePrivate; friend class PlasmaWindowInterfacePrivate;