From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [PATCH v3 0/7] ui: add vdagent implementation and clipboard support.
Date: Fri, 26 Mar 2021 10:24:41 +0100 [thread overview]
Message-ID: <20210326092448.367016-1-kraxel@redhat.com> (raw)
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
v2:
- add a bunch of sanity checks.
- add proper chunking.
- use autofree.
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.
Gerd Hoffmann (7):
ui: add clipboard infrastructure
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
include/ui/clipboard.h | 68 ++++
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 | 756 +++++++++++++++++++++++++++++++++++++++++
ui/vnc-clipboard.c | 323 ++++++++++++++++++
ui/vnc.c | 20 +-
qapi/char.json | 17 +
ui/meson.build | 5 +-
ui/trace-events | 10 +
13 files changed, 1574 insertions(+), 62 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
--
2.30.2
next reply other threads:[~2021-03-26 9:30 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-26 9:24 Gerd Hoffmann [this message]
2021-03-26 9:24 ` [PATCH v3 1/7] ui: add clipboard infrastructure Gerd Hoffmann
2021-03-26 9:24 ` [PATCH v3 2/7] ui/vdagent: core infrastructure Gerd Hoffmann
2021-03-26 14:56 ` Markus Armbruster
2021-03-26 15:18 ` Eric Blake
2021-03-26 9:24 ` [PATCH v3 3/7] ui/vdagent: add mouse support Gerd Hoffmann
2021-03-26 14:59 ` Markus Armbruster
2021-03-26 9:24 ` [PATCH v3 4/7] ui/vdagent: add clipboard support Gerd Hoffmann
2021-03-26 9:24 ` [PATCH v3 5/7] ui/vnc: " Gerd Hoffmann
2021-03-26 9:24 ` [PATCH v3 6/7] ui/gtk: move struct GtkDisplayState to ui/gtk.h Gerd Hoffmann
2021-03-26 9:24 ` [PATCH v3 7/7] ui/gtk: add clipboard support Gerd Hoffmann
2021-03-26 9:39 ` [PATCH v3 0/7] ui: add vdagent implementation and " no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210326092448.367016-1-kraxel@redhat.com \
--to=kraxel@redhat.com \
--cc=armbru@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).