Xpra: Ticket #883: Pasting into WYSIWYG editors rich text fails and causes too many clipboard requests

Pasting into WYSIWYG editors does not work when using Firefox browser through Xpra. Known examples are Office365 email editor and Confluence editor.

Error: clipboard toggled to False by the server, reason: more than 10 clipboard requests per second!

Server is Ubuntu 14 running xpra 0.15.x. Xpra configured to directly use Firefox as child.

This has been happening since 0.14.x. Unknown if occurred before due to not use xpra before 0.14.x.

Happens with all clients on all OS's.

Server start line:

xpra start :100 --start-child=firefox --bind-tcp=0.0.0.0:10000 --no-daemon --exit-with-children


Wed, 03 Jun 2015 23:53:45 GMT - Paul: attachment set


Wed, 03 Jun 2015 23:55:26 GMT - Paul:

I forgot to add, pasting in plain text (ctrl+shift+v for linux) works.


Fri, 05 Jun 2015 08:59:49 GMT - Antoine Martin: status, description, summary changed

I have edited the bug title, as there is no crash. Please see #877 for more information and a potential workaround.

We'll have to gather some logs with -d clipboard for both client and server to see why there are too many requests.


Fri, 05 Jun 2015 22:12:07 GMT - Paul:

Here is the clipboard debug output when a standard paste (CTRL+V or Right Click Paste) FAILS into Office365 email editor.

It is NOT giving the "clipboard toggled to False by the server.... more than 10 clipboard requests per second" unless I hit CTRL+V too quickly - so my apologies, this maybe not relevant to the bug report.

2015-06-04 01:48:04,716 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:48:04,717 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:48:04,717 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:48:04,717 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,717 get clipboard from remote handler id=7
2015-06-04 01:48:04,720 process clipboard packet type=clipboard-contents
2015-06-04 01:48:04,721 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:48:04,721 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:48:04,721 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:48:04,721 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:48:04,721 got clipboard contents for id=7 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f50> (type=ATOM, format=32)
2015-06-04 01:48:04,722 get clipboard from remote result(7)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:48:04,722 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13189847) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:48:04,723 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:48:04,723 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:48:04,723 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:48:04,723 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,723 get clipboard from remote handler id=8
2015-06-04 01:48:04,728 process clipboard packet type=clipboard-contents
2015-06-04 01:48:04,728 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:48:04,728 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:48:04,729 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:48:04,729 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:48:04,729 got clipboard contents for id=8 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f50> (type=ATOM, format=32)
2015-06-04 01:48:04,730 get clipboard from remote result(8)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:48:04,730 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13189847) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:48:04,731 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:48:04,731 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:48:04,731 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:48:04,731 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,731 get clipboard from remote handler id=9
2015-06-04 01:48:04,737 process clipboard packet type=clipboard-contents
2015-06-04 01:48:04,737 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:48:04,737 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:48:04,737 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:48:04,737 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:48:04,738 got clipboard contents for id=9 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f50> (type=ATOM, format=32)
2015-06-04 01:48:04,738 get clipboard from remote result(9)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:48:04,739 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13189847) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:48:04,740 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:48:04,741 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:48:04,741 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:48:04,741 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,741 get clipboard from remote handler id=10
2015-06-04 01:48:04,745 process clipboard packet type=clipboard-contents
2015-06-04 01:48:04,745 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:48:04,746 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:48:04,746 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:48:04,746 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:48:04,746 got clipboard contents for id=10 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f50> (type=ATOM, format=32)
2015-06-04 01:48:04,746 get clipboard from remote result(10)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:48:04,747 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13189847) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:48:04,747 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:48:04,748 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:48:04,748 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:48:04,748 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,748 get clipboard from remote handler id=11
2015-06-04 01:48:04,753 process clipboard packet type=clipboard-contents
2015-06-04 01:48:04,753 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:48:04,753 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:48:04,753 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:48:04,754 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:48:04,754 got clipboard contents for id=11 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f50> (type=ATOM, format=32)
2015-06-04 01:48:04,754 get clipboard from remote result(11)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:48:04,755 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13189847) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:48:04,755 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:48:04,755 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:48:04,755 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e530: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:48:04,756 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,756 get clipboard from remote handler id=12
2015-06-04 01:48:04,765 process clipboard packet type=clipboard-contents
2015-06-04 01:48:04,765 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:48:04,766 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:48:04,766 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:48:04,766 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:48:04,766 got clipboard contents for id=12 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f50> (type=ATOM, format=32)
2015-06-04 01:48:04,766 get clipboard from remote result(12)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:48:04,767 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13189847) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:48:04,777 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55eb48: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=GDK_SELECTION>)
2015-06-04 01:48:04,777 target for CLIPBOARD: 'UTF8_STRING'
2015-06-04 01:48:04,777 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55eb48: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=GDK_SELECTION>) target=UTF8_STRING, selection=CLIPBOARD
2015-06-04 01:48:04,777 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,778 get clipboard from remote handler id=13
2015-06-04 01:48:04,782 process clipboard packet type=clipboard-contents
2015-06-04 01:48:04,782 process clipboard contents, selection=CLIPBOARD, type=UTF8_STRING, format=8
2015-06-04 01:48:04,783 _munge_wire_selection_to_raw(bytes, UTF8_STRING, 8, <type 'str'>:4:['t', 'e', 's', 't'])
2015-06-04 01:48:04,783 wire selection to raw, encoding=bytes, type=UTF8_STRING, format=8, len(data)=4
2015-06-04 01:48:04,783 clipboard wire -> raw: ('UTF8_STRING', 8, 'bytes', 'test') -> 'test'
2015-06-04 01:48:04,783 got clipboard contents for id=13 len=4, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f10> (type=UTF8_STRING, format=8)
2015-06-04 01:48:04,783 get clipboard from remote result(13)={'data': 'test', 'type': 'UTF8_STRING', 'format': 8}
2015-06-04 01:48:04,784 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13189847) calling selection_data.set(UTF8_STRING, 8, <type 'str'>:4)
2015-06-04 01:48:04,795 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55eb48: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:48:04,795 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:48:04,796 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55eb48: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:48:04,796 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,796 get clipboard from remote handler id=14
2015-06-04 01:48:04,799 process clipboard packet type=clipboard-contents
2015-06-04 01:48:04,799 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:48:04,799 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:48:04,799 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:48:04,800 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:48:04,800 got clipboard contents for id=14 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f10> (type=ATOM, format=32)
2015-06-04 01:48:04,800 get clipboard from remote result(14)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:48:04,800 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13189847) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:48:04,801 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55eb48: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=application/x-moz-nativehtml, property=GDK_SELECTION>)
2015-06-04 01:48:04,801 target for CLIPBOARD: 'application/x-moz-nativehtml'
2015-06-04 01:48:04,801 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55eb48: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=application/x-moz-nativehtml, property=GDK_SELECTION>) target=application/x-moz-nativehtml, selection=CLIPBOARD
2015-06-04 01:48:04,802 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13189847) selection=CLIPBOARD
2015-06-04 01:48:04,802 get clipboard from remote handler id=15
2015-06-04 01:48:04,804 process clipboard packet type=clipboard-contents-none
2015-06-04 01:48:04,804 process clipboard contents none
2015-06-04 01:48:04,805 got clipboard contents for id=15 len=0, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f10> (type=None, format=None)
2015-06-04 01:48:04,805 get clipboard from remote result(15)={'data': None, 'type': None, 'format': None}
2015-06-04 01:48:04,805 remote selection fetch timed out or empty

Here is the output of a SUCCESSFUL paste but only when I do a Plain Text paste (CTRL+SHIFT+V) into the same email editor:

2015-06-04 01:54:02,553 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:54:02,554 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:54:02,554 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:54:02,554 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13547682) selection=CLIPBOARD
2015-06-04 01:54:02,554 get clipboard from remote handler id=54
2015-06-04 01:54:02,559 process clipboard packet type=clipboard-contents
2015-06-04 01:54:02,559 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:54:02,560 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:54:02,560 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:54:02,560 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:54:02,560 got clipboard contents for id=54 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c4ae350> (type=ATOM, format=32)
2015-06-04 01:54:02,560 get clipboard from remote result(54)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:54:02,561 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13547682) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:54:02,561 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:54:02,561 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:54:02,562 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:54:02,562 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13547682) selection=CLIPBOARD
2015-06-04 01:54:02,562 get clipboard from remote handler id=55
2015-06-04 01:54:02,566 process clipboard packet type=clipboard-contents
2015-06-04 01:54:02,566 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:54:02,566 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:54:02,566 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:54:02,567 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:54:02,567 got clipboard contents for id=55 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c4ae350> (type=ATOM, format=32)
2015-06-04 01:54:02,567 get clipboard from remote result(55)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:54:02,568 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13547682) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:54:02,568 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:54:02,570 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:54:02,570 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:54:02,570 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13547682) selection=CLIPBOARD
2015-06-04 01:54:02,570 get clipboard from remote handler id=56
2015-06-04 01:54:02,580 process clipboard packet type=clipboard-contents
2015-06-04 01:54:02,580 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:54:02,580 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:54:02,580 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:54:02,581 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:54:02,581 got clipboard contents for id=56 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c4ae350> (type=ATOM, format=32)
2015-06-04 01:54:02,581 get clipboard from remote result(56)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:54:02,582 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13547682) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:54:02,582 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:54:02,583 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:54:02,583 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:54:02,584 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13547682) selection=CLIPBOARD
2015-06-04 01:54:02,584 get clipboard from remote handler id=57
2015-06-04 01:54:02,590 process clipboard packet type=clipboard-contents
2015-06-04 01:54:02,590 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:54:02,590 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:54:02,591 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:54:02,591 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:54:02,591 got clipboard contents for id=57 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c4ae350> (type=ATOM, format=32)
2015-06-04 01:54:02,591 get clipboard from remote result(57)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:54:02,592 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13547682) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:54:02,592 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-04 01:54:02,593 target for CLIPBOARD: 'TARGETS'
2015-06-04 01:54:02,593 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e350: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-04 01:54:02,593 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13547682) selection=CLIPBOARD
2015-06-04 01:54:02,594 get clipboard from remote handler id=58
2015-06-04 01:54:02,601 process clipboard packet type=clipboard-contents
2015-06-04 01:54:02,601 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-04 01:54:02,601 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7:['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-04 01:54:02,601 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:7)=[<GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb4 = 'TEXT'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x76 = 'TIMESTAMP'>]=[179L, 71L, 31L, 180L, 121L, 120L, 118L]=['\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb4', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-04 01:54:02,601 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP')) -> '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00'
2015-06-04 01:54:02,602 got clipboard contents for id=58 len=56, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c4ae350> (type=ATOM, format=32)
2015-06-04 01:54:02,602 get clipboard from remote result(58)={'data': '\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00v\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-04 01:54:02,602 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13547682) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-04 01:54:02,607 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e918: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=GDK_SELECTION>)
2015-06-04 01:54:02,608 target for CLIPBOARD: 'UTF8_STRING'
2015-06-04 01:54:02,608 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e918: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=GDK_SELECTION>) target=UTF8_STRING, selection=CLIPBOARD
2015-06-04 01:54:02,608 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13547682) selection=CLIPBOARD
2015-06-04 01:54:02,609 get clipboard from remote handler id=59
2015-06-04 01:54:02,616 process clipboard packet type=clipboard-contents
2015-06-04 01:54:02,616 process clipboard contents, selection=CLIPBOARD, type=UTF8_STRING, format=8
2015-06-04 01:54:02,616 _munge_wire_selection_to_raw(bytes, UTF8_STRING, 8, <type 'str'>:4:['t', 'e', 's', 't'])
2015-06-04 01:54:02,616 wire selection to raw, encoding=bytes, type=UTF8_STRING, format=8, len(data)=4
2015-06-04 01:54:02,616 clipboard wire -> raw: ('UTF8_STRING', 8, 'bytes', 'test') -> 'test'
2015-06-04 01:54:02,617 got clipboard contents for id=59 len=4, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f10> (type=UTF8_STRING, format=8)
2015-06-04 01:54:02,617 get clipboard from remote result(59)={'data': 'test', 'type': 'UTF8_STRING', 'format': 8}
2015-06-04 01:54:02,617 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13547682) calling selection_data.set(UTF8_STRING, 8, <type 'str'>:4)
2015-06-04 01:54:02,623 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e918: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=GDK_SELECTION>)
2015-06-04 01:54:02,623 target for CLIPBOARD: 'UTF8_STRING'
2015-06-04 01:54:02,624 do_selection_request_event(<gtk.gdk.Event at 0x7f091c55e918: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=GDK_SELECTION>) target=UTF8_STRING, selection=CLIPBOARD
2015-06-04 01:54:02,624 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>, 0, 13547682) selection=CLIPBOARD
2015-06-04 01:54:02,624 get clipboard from remote handler id=60
2015-06-04 01:54:02,628 process clipboard packet type=clipboard-contents
2015-06-04 01:54:02,628 process clipboard contents, selection=CLIPBOARD, type=UTF8_STRING, format=8
2015-06-04 01:54:02,628 _munge_wire_selection_to_raw(bytes, UTF8_STRING, 8, <type 'str'>:4:['t', 'e', 's', 't'])
2015-06-04 01:54:02,628 wire selection to raw, encoding=bytes, type=UTF8_STRING, format=8, len(data)=4
2015-06-04 01:54:02,628 clipboard wire -> raw: ('UTF8_STRING', 8, 'bytes', 'test') -> 'test'
2015-06-04 01:54:02,628 got clipboard contents for id=60 len=4, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f091c560f10> (type=UTF8_STRING, format=8)
2015-06-04 01:54:02,629 get clipboard from remote result(60)={'data': 'test', 'type': 'UTF8_STRING', 'format': 8}
2015-06-04 01:54:02,629 do_selection_get(<GtkSelectionData at 0x7ffd7c1cd9d0>,0,13547682) calling selection_data.set(UTF8_STRING, 8, <type 'str'>:4)

Fri, 05 Jun 2015 22:23:09 GMT - Antoine Martin:

2015-06-04 01:48:04,805 remote selection fetch timed out or empty

Do you have the corresponding log from the other end of the connection?


Fri, 05 Jun 2015 22:39:22 GMT - Paul:

As requested, client side debug:

2015-06-05 23:37:39,866 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:39,866 process_clipboard_packet(['clipboard-request', 61, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-05 23:37:39,866 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,866 clipboard_progress(None, 1)
2015-06-05 23:37:39,866 clipboard_notify(1)
2015-06-05 23:37:39,868 process clipboard packet type=clipboard-request
2015-06-05 23:37:39,868 process clipboard request, request_id=61, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-05 23:37:39,868 get_contents(TARGETS,<function got_contents at 0x3be9c80>) selection=CLIPBOARD
2015-06-05 23:37:39,872 got_targets(<gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'), (None,))
2015-06-05 23:37:39,872 got_contents(ATOM, 32, <type 'tuple'>:9) data=0x2827746578742f706c61696e272c2027555446385f535452494e47272c2027535452494e47272c202754455854272c2027434f4d504f554e445f54455854272c202754415247455453272c20274d554c5449504c45272c202754494d455354414d50272c2027534156455f544152474554532729..
2015-06-05 23:37:39,872 _filter_targets(('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'))=['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP']
2015-06-05 23:37:39,872 clipboard raw -> wire: ('ATOM', 32, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')) -> ('atoms', ['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-05 23:37:39,875 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:39,875 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,875 clipboard_progress(None, 0)
2015-06-05 23:37:39,875 clipboard_notify(0)
2015-06-05 23:37:39,878 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:39,878 process_clipboard_packet(['clipboard-request', 62, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-05 23:37:39,878 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,878 clipboard_progress(None, 1)
2015-06-05 23:37:39,879 clipboard_notify(1)
2015-06-05 23:37:39,879 process clipboard packet type=clipboard-request
2015-06-05 23:37:39,880 process clipboard request, request_id=62, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-05 23:37:39,880 get_contents(TARGETS,<function got_contents at 0x3be9aa0>) selection=CLIPBOARD
2015-06-05 23:37:39,882 got_targets(<gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'), (None,))
2015-06-05 23:37:39,882 got_contents(ATOM, 32, <type 'tuple'>:9) data=0x2827746578742f706c61696e272c2027555446385f535452494e47272c2027535452494e47272c202754455854272c2027434f4d504f554e445f54455854272c202754415247455453272c20274d554c5449504c45272c202754494d455354414d50272c2027534156455f544152474554532729..
2015-06-05 23:37:39,882 _filter_targets(('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'))=['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP']
2015-06-05 23:37:39,882 clipboard raw -> wire: ('ATOM', 32, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')) -> ('atoms', ['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-05 23:37:39,885 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:39,886 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,887 clipboard_progress(None, 0)
2015-06-05 23:37:39,887 clipboard_notify(0)
2015-06-05 23:37:39,888 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:39,888 process_clipboard_packet(['clipboard-request', 63, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-05 23:37:39,891 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,891 clipboard_progress(None, 1)
2015-06-05 23:37:39,891 clipboard_notify(1)
2015-06-05 23:37:39,892 process clipboard packet type=clipboard-request
2015-06-05 23:37:39,892 process clipboard request, request_id=63, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-05 23:37:39,892 get_contents(TARGETS,<function got_contents at 0x3be9c80>) selection=CLIPBOARD
2015-06-05 23:37:39,893 got_targets(<gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'), (None,))
2015-06-05 23:37:39,894 got_contents(ATOM, 32, <type 'tuple'>:9) data=0x2827746578742f706c61696e272c2027555446385f535452494e47272c2027535452494e47272c202754455854272c2027434f4d504f554e445f54455854272c202754415247455453272c20274d554c5449504c45272c202754494d455354414d50272c2027534156455f544152474554532729..
2015-06-05 23:37:39,894 _filter_targets(('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'))=['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP']
2015-06-05 23:37:39,894 clipboard raw -> wire: ('ATOM', 32, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')) -> ('atoms', ['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-05 23:37:39,898 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:39,901 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:39,903 process_clipboard_packet(['clipboard-request', 64, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-05 23:37:39,902 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,905 clipboard_progress(None, 0)
2015-06-05 23:37:39,905 clipboard_notify(0)
2015-06-05 23:37:39,908 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,909 clipboard_progress(None, 1)
2015-06-05 23:37:39,909 clipboard_notify(1)
2015-06-05 23:37:39,911 process clipboard packet type=clipboard-request
2015-06-05 23:37:39,911 process clipboard request, request_id=64, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-05 23:37:39,911 get_contents(TARGETS,<function got_contents at 0x3be9aa0>) selection=CLIPBOARD
2015-06-05 23:37:39,939 got_targets(<gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'), (None,))
2015-06-05 23:37:39,939 got_contents(ATOM, 32, <type 'tuple'>:9) data=0x2827746578742f706c61696e272c2027555446385f535452494e47272c2027535452494e47272c202754455854272c2027434f4d504f554e445f54455854272c202754415247455453272c20274d554c5449504c45272c202754494d455354414d50272c2027534156455f544152474554532729..
2015-06-05 23:37:39,939 _filter_targets(('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'))=['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP']
2015-06-05 23:37:39,939 clipboard raw -> wire: ('ATOM', 32, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')) -> ('atoms', ['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-05 23:37:39,945 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:39,946 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:39,946 process_clipboard_packet(['clipboard-request', 65, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-05 23:37:39,946 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,946 clipboard_progress(None, 0)
2015-06-05 23:37:39,947 clipboard_notify(0)
2015-06-05 23:37:39,963 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:39,963 clipboard_progress(None, 1)
2015-06-05 23:37:39,963 clipboard_notify(1)
2015-06-05 23:37:39,965 process clipboard packet type=clipboard-request
2015-06-05 23:37:39,965 process clipboard request, request_id=65, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-05 23:37:39,965 get_contents(TARGETS,<function got_contents at 0x3be9c80>) selection=CLIPBOARD
2015-06-05 23:37:40,004 got_targets(<gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'), (None,))
2015-06-05 23:37:40,004 got_contents(ATOM, 32, <type 'tuple'>:9) data=0x2827746578742f706c61696e272c2027555446385f535452494e47272c2027535452494e47272c202754455854272c2027434f4d504f554e445f54455854272c202754415247455453272c20274d554c5449504c45272c202754494d455354414d50272c2027534156455f544152474554532729..
2015-06-05 23:37:40,005 _filter_targets(('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'))=['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP']
2015-06-05 23:37:40,005 clipboard raw -> wire: ('ATOM', 32, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')) -> ('atoms', ['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-05 23:37:40,008 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:40,008 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,008 clipboard_progress(None, 0)
2015-06-05 23:37:40,008 clipboard_notify(0)
2015-06-05 23:37:40,010 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:40,010 process_clipboard_packet(['clipboard-request', 66, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-05 23:37:40,010 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,010 clipboard_progress(None, 1)
2015-06-05 23:37:40,010 clipboard_notify(1)
2015-06-05 23:37:40,012 process clipboard packet type=clipboard-request
2015-06-05 23:37:40,012 process clipboard request, request_id=66, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-05 23:37:40,012 get_contents(TARGETS,<function got_contents at 0x3be9aa0>) selection=CLIPBOARD
2015-06-05 23:37:40,013 got_targets(<gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'), (None,))
2015-06-05 23:37:40,014 got_contents(ATOM, 32, <type 'tuple'>:9) data=0x2827746578742f706c61696e272c2027555446385f535452494e47272c2027535452494e47272c202754455854272c2027434f4d504f554e445f54455854272c202754415247455453272c20274d554c5449504c45272c202754494d455354414d50272c2027534156455f544152474554532729..
2015-06-05 23:37:40,015 _filter_targets(('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'))=['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP']
2015-06-05 23:37:40,018 clipboard raw -> wire: ('ATOM', 32, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')) -> ('atoms', ['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-05 23:37:40,024 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:40,029 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,029 clipboard_progress(None, 0)
2015-06-05 23:37:40,029 clipboard_notify(0)
2015-06-05 23:37:40,033 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:40,034 process_clipboard_packet(['clipboard-request', 67, 'CLIPBOARD', 'UTF8_STRING']) level=1
2015-06-05 23:37:40,035 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,035 clipboard_progress(None, 1)
2015-06-05 23:37:40,036 clipboard_notify(1)
2015-06-05 23:37:40,037 process clipboard packet type=clipboard-request
2015-06-05 23:37:40,038 process clipboard request, request_id=67, selection=CLIPBOARD, local name=CLIPBOARD, target=UTF8_STRING
2015-06-05 23:37:40,038 get_contents(UTF8_STRING,<function got_contents at 0x3be9c80>) selection=CLIPBOARD
2015-06-05 23:37:40,040 unpack <gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>: <type 'gtk.SelectionData'>
2015-06-05 23:37:40,040 unpack: <GtkSelectionData at 0x3dc49c0>
2015-06-05 23:37:40,040 unpack(..) type=UTF8_STRING, format=8, data=<type 'str'>:4
2015-06-05 23:37:40,040 got_contents(UTF8_STRING, 8, <type 'str'>:4) data=0x74657374..
2015-06-05 23:37:40,041 _do_munge_raw_selection_to_wire(UTF8_STRING, UTF8_STRING, 8, <type 'str'>:4)
2015-06-05 23:37:40,041 clipboard raw -> wire: ('UTF8_STRING', 8, 'test') -> ('bytes', 'test')
2015-06-05 23:37:40,044 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:40,046 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,047 clipboard_progress(None, 0)
2015-06-05 23:37:40,047 clipboard_notify(0)
2015-06-05 23:37:40,055 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:40,055 process_clipboard_packet(['clipboard-request', 68, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-05 23:37:40,056 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,056 clipboard_progress(None, 1)
2015-06-05 23:37:40,056 clipboard_notify(1)
2015-06-05 23:37:40,057 process clipboard packet type=clipboard-request
2015-06-05 23:37:40,057 process clipboard request, request_id=68, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-05 23:37:40,057 get_contents(TARGETS,<function got_contents at 0x3be9aa0>) selection=CLIPBOARD
2015-06-05 23:37:40,066 got_targets(<gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'), (None,))
2015-06-05 23:37:40,066 got_contents(ATOM, 32, <type 'tuple'>:9) data=0x2827746578742f706c61696e272c2027555446385f535452494e47272c2027535452494e47272c202754455854272c2027434f4d504f554e445f54455854272c202754415247455453272c20274d554c5449504c45272c202754494d455354414d50272c2027534156455f544152474554532729..
2015-06-05 23:37:40,067 _filter_targets(('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS'))=['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP']
2015-06-05 23:37:40,067 clipboard raw -> wire: ('ATOM', 32, ('text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'COMPOUND_TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP', 'SAVE_TARGETS')) -> ('atoms', ['text/plain', 'UTF8_STRING', 'STRING', 'TEXT', 'TARGETS', 'MULTIPLE', 'TIMESTAMP'])
2015-06-05 23:37:40,070 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:40,073 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-05 23:37:40,073 process_clipboard_packet(['clipboard-request', 69, 'CLIPBOARD', 'application/x-moz-nativehtml']) level=1
2015-06-05 23:37:40,073 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,073 clipboard_progress(None, 0)
2015-06-05 23:37:40,073 clipboard_notify(0)
2015-06-05 23:37:40,075 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,076 clipboard_progress(None, 1)
2015-06-05 23:37:40,078 clipboard_notify(1)
2015-06-05 23:37:40,079 process clipboard packet type=clipboard-request
2015-06-05 23:37:40,080 process clipboard request, request_id=69, selection=CLIPBOARD, local name=CLIPBOARD, target=application/x-moz-nativehtml
2015-06-05 23:37:40,080 get_contents(application/x-moz-nativehtml,<function got_contents at 0x3be9c80>) selection=CLIPBOARD
2015-06-05 23:37:40,083 unpack <gtk.Clipboard object at 0x3bd5960 (GtkClipboard at 0x3c34580)>: <type 'gtk.SelectionData'>
2015-06-05 23:37:40,083 unpack: <GtkSelectionData at 0x3dc4980>
2015-06-05 23:37:40,083 unpack(..) type=, format=0, data=<type 'NoneType'>:0
2015-06-05 23:37:40,084 got_contents(, 0, <type 'NoneType'>:0) data=0x4e6f6e65..
2015-06-05 23:37:40,086 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-05 23:37:40,086 process clipboard packet type=clipboard-pending-requests
2015-06-05 23:37:40,086 clipboard_progress(None, 0)
2015-06-05 23:37:40,086 clipboard_notify(0)
2015-06-05 23:37:43,078 do_owner_changed((<gtk.Clipboard object at 0x3bd5af0 (GtkClipboard at 0x3c34600)>, <gtk.gdk.Event at 0x3b06fa8: GDK_OWNER_CHANGE reason=GDK_OWNER_CHANGE_NEW_OWNER, selection=PRIMARY>)) greedy_client=False, block_owner_change=False

Sat, 06 Jun 2015 12:05:01 GMT - Antoine Martin: owner, status changed

This looks like #834, which is also a problem with Firefox. In particular, see ticket:834#comment:5

r9594 allows us to override the targets we discard, since firefox is choking on application/x-moz-nativehtml, you can try running the client and server with:

XPRA_DISCARD_TARGETS="^application/x-moz" xpra ...

Which should force it to stick with more "standard" targets. But this may not be enough to get it to do the right thing. Does it help? There are beta 0.16 builds for trusty and precise with these changes. If it does, we could make this the default.

As a workaround, you could use a different browser..


Mon, 08 Jun 2015 19:13:03 GMT - Paul:

Still the same problem, here is the output from the client:

2015-06-08 20:08:26,544 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,545 process_clipboard_packet(['clipboard-request', 9, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-08 20:08:26,545 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,545 clipboard_progress(None, 1)
2015-06-08 20:08:26,545 clipboard_notify(1)
2015-06-08 20:08:26,546 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,546 process clipboard request, request_id=9, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-08 20:08:26,546 get_contents(TARGETS,<function got_contents at 0x3519de8>) selection=CLIPBOARD
2015-06-08 20:08:26,547 got_targets(<gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'), (None,))
2015-06-08 20:08:26,547 got_contents(ATOM, 32, <type 'tuple'>:7) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027535452494e47272c2027746578742f706c61696e272c2027555446385f535452494e47272c2027434f4d504f554e445f544558542729..
2015-06-08 20:08:26,547 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING']
2015-06-08 20:08:26,547 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,549 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,549 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,549 clipboard_progress(None, 0)
2015-06-08 20:08:26,550 clipboard_notify(0)
2015-06-08 20:08:26,551 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,551 process_clipboard_packet(['clipboard-request', 10, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-08 20:08:26,551 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,552 clipboard_progress(None, 1)
2015-06-08 20:08:26,552 clipboard_notify(1)
2015-06-08 20:08:26,553 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,553 process clipboard request, request_id=10, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-08 20:08:26,553 get_contents(TARGETS,<function got_contents at 0x3519cf8>) selection=CLIPBOARD
2015-06-08 20:08:26,554 got_targets(<gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'), (None,))
2015-06-08 20:08:26,554 got_contents(ATOM, 32, <type 'tuple'>:7) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027535452494e47272c2027746578742f706c61696e272c2027555446385f535452494e47272c2027434f4d504f554e445f544558542729..
2015-06-08 20:08:26,554 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING']
2015-06-08 20:08:26,554 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,557 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,557 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,557 clipboard_progress(None, 0)
2015-06-08 20:08:26,557 clipboard_notify(0)
2015-06-08 20:08:26,558 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,559 process_clipboard_packet(['clipboard-request', 11, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-08 20:08:26,559 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,559 clipboard_progress(None, 1)
2015-06-08 20:08:26,559 clipboard_notify(1)
2015-06-08 20:08:26,560 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,560 process clipboard request, request_id=11, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-08 20:08:26,560 get_contents(TARGETS,<function got_contents at 0x3519de8>) selection=CLIPBOARD
2015-06-08 20:08:26,561 got_targets(<gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'), (None,))
2015-06-08 20:08:26,561 got_contents(ATOM, 32, <type 'tuple'>:7) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027535452494e47272c2027746578742f706c61696e272c2027555446385f535452494e47272c2027434f4d504f554e445f544558542729..
2015-06-08 20:08:26,561 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING']
2015-06-08 20:08:26,562 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,564 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,564 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,565 clipboard_progress(None, 0)
2015-06-08 20:08:26,565 clipboard_notify(0)
2015-06-08 20:08:26,566 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,566 process_clipboard_packet(['clipboard-request', 12, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-08 20:08:26,567 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,568 clipboard_progress(None, 1)
2015-06-08 20:08:26,568 clipboard_notify(1)
2015-06-08 20:08:26,568 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,568 process clipboard request, request_id=12, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-08 20:08:26,568 get_contents(TARGETS,<function got_contents at 0x3519cf8>) selection=CLIPBOARD
2015-06-08 20:08:26,569 got_targets(<gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'), (None,))
2015-06-08 20:08:26,569 got_contents(ATOM, 32, <type 'tuple'>:7) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027535452494e47272c2027746578742f706c61696e272c2027555446385f535452494e47272c2027434f4d504f554e445f544558542729..
2015-06-08 20:08:26,569 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING']
2015-06-08 20:08:26,569 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,572 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,572 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,572 clipboard_progress(None, 0)
2015-06-08 20:08:26,572 clipboard_notify(0)
2015-06-08 20:08:26,573 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,574 process_clipboard_packet(['clipboard-request', 13, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-08 20:08:26,574 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,575 clipboard_progress(None, 1)
2015-06-08 20:08:26,575 clipboard_notify(1)
2015-06-08 20:08:26,575 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,575 process clipboard request, request_id=13, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-08 20:08:26,575 get_contents(TARGETS,<function got_contents at 0x3519de8>) selection=CLIPBOARD
2015-06-08 20:08:26,576 got_targets(<gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'), (None,))
2015-06-08 20:08:26,576 got_contents(ATOM, 32, <type 'tuple'>:7) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027535452494e47272c2027746578742f706c61696e272c2027555446385f535452494e47272c2027434f4d504f554e445f544558542729..
2015-06-08 20:08:26,576 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING']
2015-06-08 20:08:26,576 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,579 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,579 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,579 clipboard_progress(None, 0)
2015-06-08 20:08:26,579 clipboard_notify(0)
2015-06-08 20:08:26,580 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,581 process_clipboard_packet(['clipboard-request', 14, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-08 20:08:26,583 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,584 clipboard_progress(None, 1)
2015-06-08 20:08:26,584 clipboard_notify(1)
2015-06-08 20:08:26,586 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,586 process clipboard request, request_id=14, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-08 20:08:26,586 get_contents(TARGETS,<function got_contents at 0x3519cf8>) selection=CLIPBOARD
2015-06-08 20:08:26,594 got_targets(<gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'), (None,))
2015-06-08 20:08:26,595 got_contents(ATOM, 32, <type 'tuple'>:7) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027535452494e47272c2027746578742f706c61696e272c2027555446385f535452494e47272c2027434f4d504f554e445f544558542729..
2015-06-08 20:08:26,595 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING']
2015-06-08 20:08:26,595 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,600 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,600 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,600 clipboard_progress(None, 0)
2015-06-08 20:08:26,600 clipboard_notify(0)
2015-06-08 20:08:26,607 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,608 process_clipboard_packet(['clipboard-request', 15, 'CLIPBOARD', 'UTF8_STRING']) level=1
2015-06-08 20:08:26,609 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,610 clipboard_progress(None, 1)
2015-06-08 20:08:26,610 clipboard_notify(1)
2015-06-08 20:08:26,611 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,611 process clipboard request, request_id=15, selection=CLIPBOARD, local name=CLIPBOARD, target=UTF8_STRING
2015-06-08 20:08:26,611 get_contents(UTF8_STRING,<function got_contents at 0x3519de8>) selection=CLIPBOARD
2015-06-08 20:08:26,612 unpack <gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>: <type 'gtk.SelectionData'>
2015-06-08 20:08:26,613 unpack: <GtkSelectionData at 0x36f4b40>
2015-06-08 20:08:26,613 unpack(..) type=UTF8_STRING, format=8, data=<type 'str'>:4
2015-06-08 20:08:26,614 got_contents(UTF8_STRING, 8, <type 'str'>:4) data=0x74657374..
2015-06-08 20:08:26,614 _do_munge_raw_selection_to_wire(UTF8_STRING, UTF8_STRING, 8, <type 'str'>:4)
2015-06-08 20:08:26,614 clipboard raw -> wire: ('UTF8_STRING', 8, 'test') -> ('bytes', 'test')
2015-06-08 20:08:26,617 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,618 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,619 clipboard_progress(None, 0)
2015-06-08 20:08:26,619 clipboard_notify(0)
2015-06-08 20:08:26,627 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,627 process_clipboard_packet(['clipboard-request', 16, 'CLIPBOARD', 'TARGETS']) level=1
2015-06-08 20:08:26,628 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,628 clipboard_progress(None, 1)
2015-06-08 20:08:26,628 clipboard_notify(1)
2015-06-08 20:08:26,629 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,629 process clipboard request, request_id=16, selection=CLIPBOARD, local name=CLIPBOARD, target=TARGETS
2015-06-08 20:08:26,629 get_contents(TARGETS,<function got_contents at 0x3519cf8>) selection=CLIPBOARD
2015-06-08 20:08:26,630 got_targets(<gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'), (None,))
2015-06-08 20:08:26,630 got_contents(ATOM, 32, <type 'tuple'>:7) data=0x282754494d455354414d50272c202754415247455453272c20274d554c5449504c45272c2027535452494e47272c2027746578742f706c61696e272c2027555446385f535452494e47272c2027434f4d504f554e445f544558542729..
2015-06-08 20:08:26,631 _filter_targets(('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT'))=['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING']
2015-06-08 20:08:26,631 clipboard raw -> wire: ('ATOM', 32, ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING', 'COMPOUND_TEXT')) -> ('atoms', ['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,634 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,634 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,634 clipboard_progress(None, 0)
2015-06-08 20:08:26,634 clipboard_notify(0)
2015-06-08 20:08:26,636 process_clipboard_packet(['clipboard-pending-requests', 1]) level=1
2015-06-08 20:08:26,636 process_clipboard_packet(['clipboard-request', 17, 'CLIPBOARD', 'application/x-moz-nativehtml']) level=1
2015-06-08 20:08:26,637 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,637 clipboard_progress(None, 1)
2015-06-08 20:08:26,637 clipboard_notify(1)
2015-06-08 20:08:26,639 process clipboard packet type=clipboard-request
2015-06-08 20:08:26,639 process clipboard request, request_id=17, selection=CLIPBOARD, local name=CLIPBOARD, target=application/x-moz-nativehtml
2015-06-08 20:08:26,639 get_contents(application/x-moz-nativehtml,<function got_contents at 0x3519de8>) selection=CLIPBOARD
2015-06-08 20:08:26,640 unpack <gtk.Clipboard object at 0x3505910 (GtkClipboard at 0x3564580)>: <type 'gtk.SelectionData'>
2015-06-08 20:08:26,640 unpack: <GtkSelectionData at 0x36f4c40>
2015-06-08 20:08:26,640 unpack(..) type=, format=0, data=<type 'NoneType'>:0
2015-06-08 20:08:26,640 got_contents(, 0, <type 'NoneType'>:0) data=0x4e6f6e65..
2015-06-08 20:08:26,642 process_clipboard_packet(['clipboard-pending-requests', 0]) level=1
2015-06-08 20:08:26,642 process clipboard packet type=clipboard-pending-requests
2015-06-08 20:08:26,643 clipboard_progress(None, 0)
2015-06-08 20:08:26,643 clipboard_notify(0)

Here is the output from the server:

2015-06-08 20:08:26,544 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-08 20:08:26,544 target for CLIPBOARD: 'TARGETS'
2015-06-08 20:08:26,544 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-08 20:08:26,544 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,545 get clipboard from remote handler id=9
2015-06-08 20:08:26,548 process clipboard packet type=clipboard-contents
2015-06-08 20:08:26,548 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-08 20:08:26,549 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6:['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,549 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6)=[<GdkAtom 0x76 = 'TIMESTAMP'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>]=[118L, 121L, 120L, 31L, 179L, 71L]=['v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-08 20:08:26,549 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING')) -> 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00'
2015-06-08 20:08:26,549 got clipboard contents for id=9 len=48, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df047b950> (type=ATOM, format=32)
2015-06-08 20:08:26,549 get clipboard from remote result(9)={'data': 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-08 20:08:26,550 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>,0,22687097) calling selection_data.set(ATOM, 32, <type 'str'>:48)
2015-06-08 20:08:26,550 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-08 20:08:26,550 target for CLIPBOARD: 'TARGETS'
2015-06-08 20:08:26,551 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-08 20:08:26,551 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,551 get clipboard from remote handler id=10
2015-06-08 20:08:26,556 process clipboard packet type=clipboard-contents
2015-06-08 20:08:26,556 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-08 20:08:26,556 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6:['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,556 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6)=[<GdkAtom 0x76 = 'TIMESTAMP'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>]=[118L, 121L, 120L, 31L, 179L, 71L]=['v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-08 20:08:26,556 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING')) -> 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00'
2015-06-08 20:08:26,557 got clipboard contents for id=10 len=48, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df0d2bfd0> (type=ATOM, format=32)
2015-06-08 20:08:26,557 get clipboard from remote result(10)={'data': 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-08 20:08:26,557 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>,0,22687097) calling selection_data.set(ATOM, 32, <type 'str'>:48)
2015-06-08 20:08:26,558 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-08 20:08:26,558 target for CLIPBOARD: 'TARGETS'
2015-06-08 20:08:26,558 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-08 20:08:26,558 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,559 get clipboard from remote handler id=11
2015-06-08 20:08:26,563 process clipboard packet type=clipboard-contents
2015-06-08 20:08:26,563 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-08 20:08:26,564 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6:['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,564 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6)=[<GdkAtom 0x76 = 'TIMESTAMP'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>]=[118L, 121L, 120L, 31L, 179L, 71L]=['v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-08 20:08:26,564 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING')) -> 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00'
2015-06-08 20:08:26,564 got clipboard contents for id=11 len=48, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df0d2bfd0> (type=ATOM, format=32)
2015-06-08 20:08:26,564 get clipboard from remote result(11)={'data': 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-08 20:08:26,565 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>,0,22687097) calling selection_data.set(ATOM, 32, <type 'str'>:48)
2015-06-08 20:08:26,565 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-08 20:08:26,565 target for CLIPBOARD: 'TARGETS'
2015-06-08 20:08:26,565 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-08 20:08:26,566 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,566 get clipboard from remote handler id=12
2015-06-08 20:08:26,570 process clipboard packet type=clipboard-contents
2015-06-08 20:08:26,571 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-08 20:08:26,571 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6:['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,571 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6)=[<GdkAtom 0x76 = 'TIMESTAMP'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>]=[118L, 121L, 120L, 31L, 179L, 71L]=['v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-08 20:08:26,571 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING')) -> 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00'
2015-06-08 20:08:26,571 got clipboard contents for id=12 len=48, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df0d2bfd0> (type=ATOM, format=32)
2015-06-08 20:08:26,572 get clipboard from remote result(12)={'data': 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-08 20:08:26,572 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>,0,22687097) calling selection_data.set(ATOM, 32, <type 'str'>:48)
2015-06-08 20:08:26,573 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-08 20:08:26,573 target for CLIPBOARD: 'TARGETS'
2015-06-08 20:08:26,573 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-08 20:08:26,573 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,574 get clipboard from remote handler id=13
2015-06-08 20:08:26,578 process clipboard packet type=clipboard-contents
2015-06-08 20:08:26,578 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-08 20:08:26,578 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6:['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,578 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6)=[<GdkAtom 0x76 = 'TIMESTAMP'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>]=[118L, 121L, 120L, 31L, 179L, 71L]=['v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-08 20:08:26,578 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING')) -> 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00'
2015-06-08 20:08:26,579 got clipboard contents for id=13 len=48, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df0d2bfd0> (type=ATOM, format=32)
2015-06-08 20:08:26,579 get clipboard from remote result(13)={'data': 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-08 20:08:26,579 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>,0,22687097) calling selection_data.set(ATOM, 32, <type 'str'>:48)
2015-06-08 20:08:26,580 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-08 20:08:26,580 target for CLIPBOARD: 'TARGETS'
2015-06-08 20:08:26,580 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-08 20:08:26,580 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,580 get clipboard from remote handler id=14
2015-06-08 20:08:26,599 process clipboard packet type=clipboard-contents
2015-06-08 20:08:26,599 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-08 20:08:26,599 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6:['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,600 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6)=[<GdkAtom 0x76 = 'TIMESTAMP'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>]=[118L, 121L, 120L, 31L, 179L, 71L]=['v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-08 20:08:26,600 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING')) -> 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00'
2015-06-08 20:08:26,600 got clipboard contents for id=14 len=48, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df0d2bfd0> (type=ATOM, format=32)
2015-06-08 20:08:26,600 get clipboard from remote result(14)={'data': 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-08 20:08:26,601 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>,0,22687097) calling selection_data.set(ATOM, 32, <type 'str'>:48)
2015-06-08 20:08:26,606 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=GDK_SELECTION>)
2015-06-08 20:08:26,606 target for CLIPBOARD: 'UTF8_STRING'
2015-06-08 20:08:26,607 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=UTF8_STRING, property=GDK_SELECTION>) target=UTF8_STRING, selection=CLIPBOARD
2015-06-08 20:08:26,607 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,607 get clipboard from remote handler id=15
2015-06-08 20:08:26,616 process clipboard packet type=clipboard-contents
2015-06-08 20:08:26,616 process clipboard contents, selection=CLIPBOARD, type=UTF8_STRING, format=8
2015-06-08 20:08:26,616 _munge_wire_selection_to_raw(bytes, UTF8_STRING, 8, <type 'str'>:4:['t', 'e', 's', 't'])
2015-06-08 20:08:26,617 wire selection to raw, encoding=bytes, type=UTF8_STRING, format=8, len(data)=4
2015-06-08 20:08:26,617 clipboard wire -> raw: ('UTF8_STRING', 8, 'bytes', 'test') -> 'test'
2015-06-08 20:08:26,617 got clipboard contents for id=15 len=4, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df0d2bfd0> (type=UTF8_STRING, format=8)
2015-06-08 20:08:26,617 get clipboard from remote result(15)={'data': 'test', 'type': 'UTF8_STRING', 'format': 8}
2015-06-08 20:08:26,618 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>,0,22687097) calling selection_data.set(UTF8_STRING, 8, <type 'str'>:4)
2015-06-08 20:08:26,626 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>)
2015-06-08 20:08:26,626 target for CLIPBOARD: 'TARGETS'
2015-06-08 20:08:26,626 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=TARGETS, property=GDK_SELECTION>) target=TARGETS, selection=CLIPBOARD
2015-06-08 20:08:26,626 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,626 get clipboard from remote handler id=16
2015-06-08 20:08:26,633 process clipboard packet type=clipboard-contents
2015-06-08 20:08:26,633 process clipboard contents, selection=CLIPBOARD, type=ATOM, format=32
2015-06-08 20:08:26,633 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6:['TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING'])
2015-06-08 20:08:26,633 _munge_wire_selection_to_raw(atoms, ATOM, 32, <type 'tuple'>:6)=[<GdkAtom 0x76 = 'TIMESTAMP'>, <GdkAtom 0x79 = 'TARGETS'>, <GdkAtom 0x78 = 'MULTIPLE'>, <GdkAtom 0x1f = 'STRING'>, <GdkAtom 0xb3 = 'text/plain'>, <GdkAtom 0x47 = 'UTF8_STRING'>]=[118L, 121L, 120L, 31L, 179L, 71L]=['v', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'y', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'x', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x1f', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\xb3', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', 'G', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00', '\x00']
2015-06-08 20:08:26,634 clipboard wire -> raw: ('ATOM', 32, 'atoms', ('TIMESTAMP', 'TARGETS', 'MULTIPLE', 'STRING', 'text/plain', 'UTF8_STRING')) -> 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00'
2015-06-08 20:08:26,634 got clipboard contents for id=16 len=48, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df0d2bfd0> (type=ATOM, format=32)
2015-06-08 20:08:26,634 get clipboard from remote result(16)={'data': 'v\x00\x00\x00\x00\x00\x00\x00y\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x00\x00\x00\x00G\x00\x00\x00\x00\x00\x00\x00', 'type': 'ATOM', 'format': 32}
2015-06-08 20:08:26,635 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>,0,22687097) calling selection_data.set(ATOM, 32, <type 'str'>:48)
2015-06-08 20:08:26,635 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=application/x-moz-nativehtml, property=GDK_SELECTION>)
2015-06-08 20:08:26,635 target for CLIPBOARD: 'application/x-moz-nativehtml'
2015-06-08 20:08:26,635 do_selection_request_event(<gtk.gdk.Event at 0x7f1df0d298c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=application/x-moz-nativehtml, property=GDK_SELECTION>) target=application/x-moz-nativehtml, selection=CLIPBOARD
2015-06-08 20:08:26,636 do_selection_get(<GtkSelectionData at 0x7fff805b7f90>, 0, 22687097) selection=CLIPBOARD
2015-06-08 20:08:26,636 get clipboard from remote handler id=17
2015-06-08 20:08:26,641 process clipboard packet type=clipboard-contents-none
2015-06-08 20:08:26,641 process clipboard contents none
2015-06-08 20:08:26,641 got clipboard contents for id=17 len=0, loop=<xpra.gtk_common.nested_main.NestedMainLoop object at 0x7f1df0d2bfd0> (type=None, format=None)
2015-06-08 20:08:26,642 get clipboard from remote result(17)={'data': None, 'type': None, 'format': None}
2015-06-08 20:08:26,643 remote selection fetch timed out or empty

Mon, 08 Jun 2015 21:19:17 GMT - Paul:

I just realised that I needed to apply r9594 first before testing. That will be why it still has the x-moz-nativehtml in there.

I will get back with an update...


Tue, 09 Jun 2015 08:33:00 GMT - Antoine Martin:

yes, either apply r9594 yourself, or use the beta builds provided.


Tue, 09 Jun 2015 08:33:57 GMT - Paul:

I just applied it and tested, I am seeing still seeing x-moz-nativehtml in the debug output.


Tue, 09 Jun 2015 08:38:10 GMT - Antoine Martin:

Then I suspect that firefox is doing something invalid: requesting a target that does not exist. That alone does not explain why nothing gets pasted at all. But since it does weird things... it's likely that there are other problems too. I'll take a look when I get a chance.


Tue, 09 Jun 2015 08:45:43 GMT - Paul:

Here are the final few lines from the server:

2015-06-08 21:03:20,086 do_selection_get(<GtkSelectionData at 0x7fff81066840>,0,25980546) calling selection_data.set(ATOM, 32, <type 'str'>:56)
2015-06-08 21:03:20,086 do_selection_request_event(<gtk.gdk.Event at 0x7f2b2416d3c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=application/x-moz-nativehtml, property=GDK_SELECTION>)
2015-06-08 21:03:20,086 target for CLIPBOARD: 'application/x-moz-nativehtml'
2015-06-08 21:03:20,087 do_selection_request_event(<gtk.gdk.Event at 0x7f2b2416d3c8: GDK_SELECTION_REQUEST selection=CLIPBOARD, target=application/x-moz-nativehtml, property=GDK_SELECTION>) target=application/x-moz-nativehtml, selection=CLIPBOARD
2015-06-08 21:03:20,087 do_selection_get(<GtkSelectionData at 0x7fff81066840>, 0, 25980546) selection=CLIPBOARD
2015-06-08 21:03:20,087 invalid target 'application/x-moz-nativehtml'
2015-06-08 21:03:20,088 remote selection fetch timed out or empty

Wed, 16 Mar 2016 07:16:43 GMT - Antoine Martin: status changed; resolution set

I am closing as wontfix since I am unable to reproduce this problem with free WYSIWYG editors like:


Thu, 13 Apr 2017 13:13:00 GMT - Antoine Martin:

A workaround has been merged: ticket:1458#comment:5


Sat, 23 Jan 2021 05:08:45 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/883