diff --git a/src/plugins/screencast/screencastmanager.cpp b/src/plugins/screencast/screencastmanager.cpp index f02152f946..9f255bebd4 100644 --- a/src/plugins/screencast/screencastmanager.cpp +++ b/src/plugins/screencast/screencastmanager.cpp @@ -55,11 +55,12 @@ void ScreencastManager::streamWindow(ScreencastStreamV1Interface *waylandStream, void ScreencastManager::streamVirtualOutput(ScreencastStreamV1Interface *stream, const QString &name, + const QString &description, const QSize &size, double scale, ScreencastV1Interface::CursorMode mode) { - auto output = kwinApp()->outputBackend()->createVirtualOutput(name, name, size, scale); + auto output = kwinApp()->outputBackend()->createVirtualOutput(name, description, size, scale); streamOutput(stream, output, mode); connect(stream, &ScreencastStreamV1Interface::finished, output, [output] { kwinApp()->outputBackend()->removeVirtualOutput(output); diff --git a/src/plugins/screencast/screencastmanager.h b/src/plugins/screencast/screencastmanager.h index 436040dea9..1f1506f477 100644 --- a/src/plugins/screencast/screencastmanager.h +++ b/src/plugins/screencast/screencastmanager.h @@ -36,6 +36,7 @@ private: streamOutput(ScreencastStreamV1Interface *stream, Output *output, ScreencastV1Interface::CursorMode mode); void streamVirtualOutput(ScreencastStreamV1Interface *stream, const QString &name, + const QString &description, const QSize &size, double scale, ScreencastV1Interface::CursorMode mode); diff --git a/src/wayland/screencast_v1.cpp b/src/wayland/screencast_v1.cpp index 2b79eacea3..a29f1b23b0 100644 --- a/src/wayland/screencast_v1.cpp +++ b/src/wayland/screencast_v1.cpp @@ -15,7 +15,7 @@ namespace KWin { -static int s_version = 3; +static int s_version = 4; class ScreencastStreamV1InterfacePrivate : public QtWaylandServer::zkde_screencast_stream_unstable_v1 { @@ -105,6 +105,17 @@ public: { Q_EMIT q->virtualOutputScreencastRequested(createStream(resource, streamid), name, + QString(), + {width, height}, + wl_fixed_to_double(scale), + ScreencastV1Interface::CursorMode(pointer)); + } + + void zkde_screencast_unstable_v1_stream_virtual_output_with_description(Resource *resource, uint32_t streamid, const QString &name, const QString &description, int32_t width, int32_t height, wl_fixed_t scale, uint32_t pointer) override + { + Q_EMIT q->virtualOutputScreencastRequested(createStream(resource, streamid), + name, + description, {width, height}, wl_fixed_to_double(scale), ScreencastV1Interface::CursorMode(pointer)); diff --git a/src/wayland/screencast_v1.h b/src/wayland/screencast_v1.h index 891b109183..a1d28c4516 100644 --- a/src/wayland/screencast_v1.h +++ b/src/wayland/screencast_v1.h @@ -57,7 +57,7 @@ public: Q_SIGNALS: void outputScreencastRequested(ScreencastStreamV1Interface *stream, OutputInterface *output, CursorMode mode); - void virtualOutputScreencastRequested(ScreencastStreamV1Interface *stream, const QString &name, const QSize &size, double scaling, CursorMode mode); + void virtualOutputScreencastRequested(ScreencastStreamV1Interface *stream, const QString &name, const QString &description, const QSize &size, double scaling, CursorMode mode); void windowScreencastRequested(ScreencastStreamV1Interface *stream, const QString &winid, CursorMode mode); void regionScreencastRequested(ScreencastStreamV1Interface *stream, const QRect &geometry, qreal scaling, CursorMode mode);