qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v6 0/9] ui: add vdagent implementation and clipboard support.


From: Gerd Hoffmann
Subject: [PATCH v6 0/9] ui: add vdagent implementation and clipboard support.
Date: Wed, 19 May 2021 07:39:31 +0200

Fist sketch of cut+paste support for vnc.  On the guest side we are
going to reuse the spice vdagent, so things should work out-of-the-box
with guests in the wild.  So this patch set brings a qemu implemenation
of the vdagent protocol.

Beside that there is the clipboard infrastructure of course.  For now
only text support is there.  The design allows adding more data types,
so we can add image support and maybe more later on.  So far vdagent,
vnc server and gtk ui are hooked up.

Usage: qemu \
  -chardev vdagent,id=vdagent,clipboard=on \
  -device virtio-serial-pci \
  -device virtserialport,chardev=vdagent,name=com.redhat.spice.0

v6:
 - rebase to latest master
 - avoid busy-loop when writing to chardev.
v5:
 - use error_report.
 - error out on bigendian hosts.
 - rename chardev to 'qemu-vdagent'.
 - misc minor tweaks.
v4:
 - rebase to latest master.
 - make spice-protocol a separate build dependency.
 - update qapi version annotation.
 - add documentatin for qemu clipboard.
 - misc little tweaks.
v3:
 - support agents without VD_AGENT_CAP_CLIPBOARD_SELECTION.
 - properly parse chunked messages.
 - test with windows guests, minor fixes.
 - set display_id for agent mouse events.
v2:
 - add a bunch of sanity checks.
 - add proper chunking.
 - use autofree.

Gerd Hoffmann (9):
  build: add separate spice-protocol config option
  ui: add clipboard infrastructure
  ui: add clipboard documentation
  ui/vdagent: core infrastructure
  ui/vdagent: add mouse support
  ui/vdagent: add clipboard support
  ui/vnc: clipboard support
  ui/gtk: move struct GtkDisplayState to ui/gtk.h
  ui/gtk: add clipboard support

 configure              |  36 +-
 include/ui/clipboard.h | 193 ++++++++++
 include/ui/gtk.h       |  67 ++++
 ui/vnc.h               |  24 ++
 chardev/char.c         |   6 +
 ui/clipboard.c         |  92 +++++
 ui/gtk-clipboard.c     | 192 ++++++++++
 ui/gtk.c               |  56 +--
 ui/vdagent.c           | 803 +++++++++++++++++++++++++++++++++++++++++
 ui/vnc-clipboard.c     | 323 +++++++++++++++++
 ui/vnc.c               |  21 +-
 docs/devel/index.rst   |   1 +
 docs/devel/ui.rst      |   8 +
 meson.build            |   4 +
 qapi/char.json         |  21 +-
 ui/meson.build         |   5 +-
 ui/trace-events        |  10 +
 17 files changed, 1795 insertions(+), 67 deletions(-)
 create mode 100644 include/ui/clipboard.h
 create mode 100644 ui/clipboard.c
 create mode 100644 ui/gtk-clipboard.c
 create mode 100644 ui/vdagent.c
 create mode 100644 ui/vnc-clipboard.c
 create mode 100644 docs/devel/ui.rst

-- 
2.31.1





reply via email to

[Prev in Thread] Current Thread [Next in Thread]