xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Changes between Version 27 and Version 28 of Clipboard


Ignore:
Timestamp:
09/22/19 09:52:06 (23 months ago)
Author:
Antoine Martin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Clipboard

    v27 v28  
    3333* on OSX, we have to use polling to see client-side changes (see #11)
    3434* the HTML5 client can only access the clipboard when the browser decides it is appropriate to do so (usually following clicks or specific key combinations)
    35 * the xpra clibboard code is also problematic: the [/browser/xpra/trunk/src/xpra/gtk_common/nested_main.py nested main loop] code is known to cause serious problems on some platforms
    3635}}}
    3736
    3837
    3938{{{#!div class="box"
    40 == Notes and Tuning ==
     39== Clipboard Tools ==
    4140
    42 As noted in the [/wiki/FAQ], running a clipboard manager will interfere with the clipboard synchronization. At best, it will cause unnecessary traffic, at worst it can cause sluggishness and even crashes.
     41As noted in the [/wiki/FAQ], running a clipboard manager will interfere with the clipboard synchronization.
    4342
    44 In order to prevent such issues, the code will automatically disable the clipboard if it looks like the synchronization is entering a loop.
    45 You will see a message in the log output indicating:
    46 {{{
    47 clipboard disabled: more than 10 clipboard requests per second!
    48 }}}
    49 The maximum number of requests per second can be tuned setting the environment variable {{{XPRA_CLIPBOARD_LIMIT}}} to the desired value on the server. ie:
    50 {{{
    51 XPRA_CLIPBOARD_LIMIT=20 xpra start ...
    52 }}}
     43At best, it will cause unnecessary traffic, at worst it can cause sluggishness and synchronization problems.
    5344}}}
    5445
     
    8172== Useful Pointers ==
    8273Here are some pointers:
    83 * [http://www.pygtk.org/docs/pygtk/class-gtkclipboard.html gtk.Clipboard] is the nice wrapper class pygtk provides for us
    8474* [http://stackoverflow.com/questions/3571179/how-does-x11-clipboard-handle-multiple-data-formats How does X11 clipboard handle multiple data formats?]
    8575* [http://www.virtualbox.org/svn/vbox/trunk/src/VBox/GuestHost/SharedClipboard/x11-clipboard.cpp x11-clipboard.cpp] from {{{VirtualBox}}}
     
    9383{{{#!div class="box"
    9484== Source code ==
    95 * [/browser/xpra/trunk/src/xpra/clipboard/clipboard_base.py xpra.clipboard.clipboard_base] - the base class for clipboard implementations
    96 * [/browser/xpra/trunk/src/xpra/clipboard/gdk_clipboard.py xpra.clipboard.gdk_clipboard] - the gdk clipboard implementation (which requires Cython to build the C parts that allow us to access X11 atoms). It also contains the {{{TranslatedClipboardProtocolHelper}}} which is used by Windows clients to translate the local clipboard to a particular X11 clipboard.
     85[/browser/xpra/trunk/src/xpra/clipboard/]
    9786}}}
    9887
     
    10089{{{#!div class="box"
    10190== Related tickets ==
     91* #812 clipboard rewrite
     92* #2312 clipboard images with html5 client
     93* #1844 async clipboard api
    10294* #41: when we support concurrent users on the same session, we currently give the clipboard to the first client - doing anything else will be quite tricky
    10395* #812 re-implement clipboard without gtk or nested main