#11 closed task (duplicate)
clipboard support for OSX and win32
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | major | Milestone: | 0.5 |
Component: | client | Version: | |
Keywords: | Cc: |
Description (last modified by )
Some pointers which may be useful:
- windows-clipboard-viewer
- win32clipboard
- Build a Shared Clipboard Utility in Python
- MS Windows Clipboard (comp.lang.python)
- manipulate-mac-os-clipboard (python)
- OSX NSPasteBoard
- Pasteboard Manager
- Copying and pasting in Python on Mac OS X
Notes: it doesn't look like OSX supports events... Carbon.Scrap.InfoScrap()
has a serial number, so maybe we can poll/compare that?
Change History (11)
comment:1 Changed 11 years ago by
Description: | modified (diff) |
---|---|
Status: | new → accepted |
comment:3 Changed 10 years ago by
Note that there are already problems with the clipboard code and its nested main loop, see #52 and #8, and also:
xpra/platform/clipboard_base.py:232: GtkWarning: IA__gdk_x11_atom_to_xatom_for_display: assertion `ATOM_TO_INDEX (atom) < virtual_atom_array->len' failed gtk.Invisible.do_selection_request_event(self, event)
So it may be worth re-working the whole thing using deferred (ala twisted)
comment:4 Changed 10 years ago by
Milestone: | current → 0.2 |
---|
comment:5 Changed 10 years ago by
Milestone: | 0.2 → future |
---|
comment:6 Changed 10 years ago by
comment:7 Changed 10 years ago by
comment:8 Changed 9 years ago by
Status: | accepted → new |
---|
Closing this outdated ticket:
- win32 info can be found in #272
- osx (still TODO) in #318
- better links an summary in wiki/Clipboard
comment:9 Changed 9 years ago by
Resolution: | → duplicate |
---|---|
Status: | new → closed |
comment:10 Changed 5 years ago by
Milestone: | future → 0.5 |
---|
comment:11 Changed 16 months ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/11
Note: See
TracTickets for help on using
tickets.
Added partial support for win32 in r241 (see commit message)
Still need to:
OSX support is just really tedious, the GTK stuff does not work:
The apple pasteboards doc seems to have sync methods, but none that would call back to us whenever the clipboard's contents changes so we may have to poll it whenever we get a clipboard message from the server or when the application becomes (in)active. (via
NSApplicationWillResignActive
/NSApplicationDidBecomeActive
)See PasteboardSynchronize and SetPromiseKeeper.
The only python code I can find that does anything remotely similar is
clipboard/carbon.py
(now dead link) which uses pyglet.. not keen on adding yet-another-dependency, but may have to.