Clipboard improvements

Submitted by marcandre.lureau@redhat.com on March 22, 2019, 2:20 p.m.

Details

Reviewer None
Submitted March 22, 2019, 2:20 p.m.
Last Updated March 22, 2019, 3:13 p.m.
Revision 2

Cover Letter(s)

Revision 1
      From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

This series implements 2 protocol capabilities for solving some
clipboard race issues.

For a description of the changes, see related patches and protocol changes:
- [PATCH spice-protocol] vdagent: introduce VD_AGENT_CAP_CLIPBOARD_NO_RELEASE_ON_REGRAB
- [PATCH spice-protocol] vdagent: introduce VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL

The series is based on "[PATCH spice-gtk 0/2] clipboard: skip release between grabs"

Marc-André Lureau (3):
  clipboard: do not delay release if agent has "no release on regrab"
  clipboard: pre-condition on selection value < 256
  clipboard: implement CAP_CLIPBOARD_GRAB_SERIAL

 configure.ac            |  2 +-
 meson.build             |  2 +-
 src/channel-main.c      | 35 ++++++++++++++++++++++++++++++++++-
 src/spice-gtk-session.c | 10 ++++++++--
 4 files changed, 44 insertions(+), 5 deletions(-)
    
Revision 2
      From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

This series implements 2 protocol capabilities for solving some
clipboard race issues, and other minor improvements.

For a description of the changes, see related patches and protocol changes:
- [PATCH spice-protocol] vdagent: introduce VD_AGENT_CAP_CLIPBOARD_NO_RELEASE_ON_REGRAB
- [PATCH spice-protocol] vdagent: introduce VD_AGENT_CAP_CLIPBOARD_GRAB_SERIAL

Marc-André Lureau (11):
  Add a .gitpublish
  session: free active session
  configure: bump gtk+ >= 3.22
  clipboard: remove vdagent-selection-id usage
  configure: depend on gobject
  configure: bump gobject >= 2.50
  vdagent: use G_OPTION_FLAG_NONE
  clipboard: gobject-ify VDAgentClipboards
  clipboard: filter out only our own events
  clipboard: only send release when no immediate grab
  clipboard: implement CAP_CLIPBOARD_GRAB_SERIAL

 .gitpublish                  |   4 ++
 Makefile.am                  |  12 ++--
 configure.ac                 |   4 +-
 src/vdagent/clipboard.c      | 116 +++++++++++++++++++++++------------
 src/vdagent/clipboard.h      |  12 ++--
 src/vdagent/vdagent.c        |  44 +++++++------
 src/vdagent/x11.c            |   7 +--
 src/vdagentd/systemd-login.c |   1 +
 src/vdagentd/vdagentd.c      |  41 ++++++++++++-
 9 files changed, 165 insertions(+), 76 deletions(-)
 create mode 100644 .gitpublish
    

Revisions