Commit Graph

265 Commits

Author SHA1 Message Date
Jeremy Huddleston
af0d5e2ef7 XQuartz: 64bit crash fix ... don't pass pointers through xe.
(cherry picked from commit 5f1265b82e)
2008-09-21 17:40:42 -07:00
George Peter Staplin
852a0b0dde XQuartz: pbproxy: Add an X error handler that returns 0.
Move the struct atom_list into the x-selection class, so that it's
no longer a global variable named atoms.  This may ease pthread
integration and reduce the chances of symbols conflicting.
(cherry picked from commit c1403c713c)
2008-09-21 17:40:42 -07:00
George Peter Staplin
7fa6fc5ad0 XQuartz: pbproxy: Fix a bug that occured when a PICT format was available.
We may need another branch to convert a PICT to a PNG or JPEG.  For now
TIFF works well in all of the test image copying apps when converted to
PNG or JPEG with an NSBitmapImageRep class.
(cherry picked from commit adf339d8f9)
2008-09-21 17:40:41 -07:00
George Peter Staplin
f67490ceb5 XQuartz: pbproxy: Make the proxy handle copy request races, and PRIMARY
INCR transfers mixed with a CLIPBOARD change.

Fix a bug with some UTF-8 transfers.  I can only guess that my UTF-8
tests before were inadequate.  I can now copy/paste any characters between
uxterm and Textedit.app.
(cherry picked from commit 7ca1532e8e)
2008-09-21 17:40:41 -07:00
Jeremy Huddleston
b666ffd781 XQuartz: "Disable" the text when syncing is disabled.
(cherry picked from commit 7713d7ab66)
2008-09-21 17:40:41 -07:00
Jeremy Huddleston
dba290ec23 XQuartz: Added a preferences UI for pbproxy options.
(cherry picked from commit d76cca5e1e)
2008-09-21 17:40:35 -07:00
George Peter Staplin
a928cae57b XQuartz: pbproxy: Add a missing include of Xutil.h. Another header
seems to have done this before, but correctness matters.
(cherry picked from commit 1b4987e779)
2008-09-21 17:40:16 -07:00
George Peter Staplin
749bdf19b2 XQuartz: pbproxy: Add COMPOUND_TEXT handling. Do misc. cleanups with testing
to verify that the behavior didn't change.

main.m: XInternAtom compound_text, and atom_pair.

pbproxy.h: Add compound_text and atom_pair to the struct atom_list.

x-selection.m: Add an #include of Xutil.h.  Refactor the reply struct
initialization to be done in a common place.  Add send_reply: to simplify
the code a bit more.  Add send_compound_text: which handles the
COMPOUND_TEXT type.  Add the beginnings of a send_multiple:.  Change
handle_image:extension: to handle_image:.  The extension: message isn't
needed anymore.
(cherry picked from commit 1e9460abdf)
2008-09-21 17:40:16 -07:00
George Peter Staplin
00bfbee59f XQuartz: pbproxy: pbproxy now responds to selection request events.
We can now copy and paste images to and from X11.  Text copying and
pasting works as well.

The NSPasteboard can contain TIFF or PICT images, and pbproxy will
translate to an image/png or image/jpeg request, and list those in the
TARGETS.

I added a description of the basic design at the top of x-selection.m.

I removed the request_data x_selection class struct.  It's not needed.
(cherry picked from commit 4a8daf8846)
2008-09-21 17:40:16 -07:00
George Peter Staplin
811e9f5e9e XQuartz: pbproxy: Use an NSBitmapImageRep to convert an "image/png" selection
to a TIFFRepresentation for use with NSPasteboard.

This has been tested with the Gimp and works with some minor quartz-wm changes.
The Finder clipboard shows the image updates after an Edit -> Copy.
(cherry picked from commit 12912adaee)
2008-09-21 17:40:16 -07:00
Jeremy Huddleston
d8d555bac7 XQuartz: Don't enable 8bit visuals in the TrueColor server, since it's not working yet
(cherry picked from commit 1317c8ff94)
2008-09-21 17:40:15 -07:00
George Peter Staplin
23ec8261b6 XQuartz: pbproxy: The greedy CLIPBOARD handling now works for text.
This change adds some [self own_clipboard] calls in the necessary places to get the proper greedy behavior.

UTF8_STRING and STRING properties seem to work well now with the test cases (PRIMARY, and CLIPBOARD).  I can copy from several different X apps, and have the behavior be correct when pasting.  I also verified that quartz-wm isn't doing the copying, by disabling the quartz-wm paths.
(cherry picked from commit 934669f732)
2008-09-21 17:40:15 -07:00
George Peter Staplin
7c2eb3d41a XQuartz: pbproxy: return the TARGETS list as a 32-bit list to fix a bug that was in the original.
Add TRACE() calls where appropriate to try to figure out why we are losing CLIPBOARD at times, after transferring PRIMARY to the NSPasteboard.

Use the new pbproxy_clipboard_to_pasteboard where appropriate.
(cherry picked from commit 40190675a6)
2008-09-21 17:40:15 -07:00
George Peter Staplin
81c836902d Rename reclaim_clipboard to claim_clipboard.
Convert the puts usage to use DB().

Add the initial handle_image method.

Check for nil in the NSString instantiation in various places.

Add some commentary to enhance the clarity of why I did some things.
(cherry picked from commit 37361567b6)
2008-09-21 17:40:15 -07:00
George Peter Staplin
85e23affea Add an image_jpeg Atom.
(cherry picked from commit ea9dc27977)
2008-09-21 17:40:15 -07:00
George Peter Staplin
6b42f40ff9 Rename reclaim_clipboard to claim_clipboard.
(cherry picked from commit d333a8e2b5)
2008-09-21 17:40:15 -07:00
George Peter Staplin
2ab56981b1 Add image/jpeg type, and rename reclaim_clipboard to claim_clipboard.
(cherry picked from commit 32b175ef62)
2008-09-21 17:40:14 -07:00
Jeremy Huddleston
cbd32645f7 XQuartz: pbproxy: Added global variables to customize how pbproxy behaves
(cherry picked from commit 21a2d0b8d0)
2008-09-21 17:40:14 -07:00
Jeremy Huddleston
5b397642cd XQuartz: pbproxy: First round of updates to pbproxy from George.
(cherry picked from commit 5c8b956f8f)
2008-09-21 17:40:14 -07:00
Jeremy Huddleston
999f3362d5 XQuartz: Dead code removal
(cherry picked from commit 43184cd379)
2008-09-12 15:26:18 -07:00
Jeremy Huddleston
6548a55ebd XQuartz: 256 color support
(cherry picked from commit 8dd6d5c825)
2008-09-12 15:26:13 -07:00
Jeremy Huddleston
bad7cd14c2 XQuartz: Dead code removal
(cherry picked from commit bf10fb0b1f)
2008-09-12 15:26:07 -07:00
Jeremy Huddleston
1119fe136f XQuartz: Changed around fd handoff model to be more robust
(cherry picked from commit 4fe605c2bc)
2008-09-12 15:26:01 -07:00
Jeremy Huddleston
183233b27b XQuartz: Don't warp the pointer on server start for XQuartz
(cherry picked from commit c0da576d49)
2008-09-12 15:25:44 -07:00
Jeremy Huddleston
7a46dd30d3 XQuartz: Dead code removal
(cherry picked from commit 2e45344870)
2008-09-12 15:22:46 -07:00
Jeremy Huddleston
1c70e53f25 XQuartz: Fixed proximity logic errors for tablets.
(cherry picked from commit d942849f24)
2008-09-12 15:22:39 -07:00
Jeremy Huddleston
1669308be6 XQuartz: Added pasteboard proxy code stripped out of quartz-wm.
(cherry picked from commit 1f842c71c3)
(cherry picked from commit 144746223d)
2008-09-03 09:33:58 -07:00
Jeremy Huddleston
46168b3b40 XQuartz: Updated Tablet code to include ranges for valuators and added cursor and erasor
(cherry picked from commit 6bca787609)
(cherry picked from commit fafcafd6de)
2008-09-03 09:33:53 -07:00
Jeremy Huddleston
7f5318131d XQuartz: Removed "Done" button from Applications Customization. Now properly save on exit.
(cherry picked from commit 2f1e163d5d)
(cherry picked from commit 7542c00b96)
2008-09-03 09:33:45 -07:00
Jeremy Huddleston
700e8bf33f XQuartz: Updated man page
(cherry picked from commit 6932d0d19e)
(cherry picked from commit 8e3da36b6b)
2008-09-03 09:25:13 -07:00
Jeremy Huddleston
7430bb9093 XQuartz: Removed dead code (unused option definitions)
(cherry picked from commit 3d74f77490)
(cherry picked from commit c1e5ea9ba0)
2008-09-03 09:25:07 -07:00
Jeremy Huddleston
b3836e5bdd XQuartz: Cleaned up our sleeping before adding the launchd socket.
(cherry picked from commit ebfe49dfca)
(cherry picked from commit 2cf74a76d5)
2008-09-03 09:24:59 -07:00
Jeremy Huddleston
0cd6709db5 XQuartz: Fixed editing of Applications menu
(cherry picked from commit da647f1add)
2008-08-30 16:25:06 -07:00
Jeremy Huddleston
c4d290fc54 XQuartz: Fixed missing symbol in quartzKeyboard debugging
(cherry picked from commit 8ad55e484f)
2008-08-30 14:21:17 -07:00
Jeremy Huddleston
1885582444 XQuartz: Placate automake which doesn't like escaped newlines even in comments...
(cherry picked from commit 73db117012)
2008-08-29 21:18:26 -07:00
Jeremy Huddleston
8abcc12fdd XQuartz: Added debugging output to the crash log to help track down two crashes, since people don't often report their system.log spew.
(cherry picked from commit aaf0f71db1)
2008-08-29 20:55:25 -07:00
Jeremy Huddleston
aee19c7b55 XQuartz: xp_is_symbolic_hotkey_event catches the input menu, but not our mainMenu, so we still need to do that the old way.
(cherry picked from commit 25eccf12c8)
2008-08-29 20:53:10 -07:00
Tomas Carnecky
ebea78cdba Prepare for array-index based devPrivates.
TODO: static indices can be made just an int; some indices
can be combined.
2008-08-28 18:05:40 -04:00
Jeremy Huddleston
2db1afbf2e XQuartz: Always use TIS for the keyboard layout seed since KB* aren't thread safe.
(cherry picked from commit c8244177b0)
2008-08-26 23:10:18 -07:00
Jeremy Huddleston
319405fa4a XQuartz: Fixed needed xplugin version. ><
(cherry picked from commit 01b3a99dff)
2008-08-26 23:10:17 -07:00
Jeremy Huddleston
3350770bd6 XQuartz: Use new Xplugin API to determine if a keypress event corresponds to an OS-X hotkey that we should dispatch to Appkit.
(cherry picked from commit e7658e745f)
2008-08-26 20:19:47 -07:00
Jeremy Huddleston
7930ea9116 XQuartz: Made a note to come back to the xinitrc race condition in the 1.5 branch when we move up to it.
(cherry picked from commit 54a882dcbd)
2008-08-26 20:19:44 -07:00
Jeremy Huddleston
dc1171df5b XQuartz: Fixed bogus args to debug ErrorF
(cherry picked from commit f0351c2b80)
2008-08-26 20:19:41 -07:00
Jeremy Huddleston
ac936525af XQuartz: Cleaned up mouse event translation a bit more.
(cherry picked from commit c286f2a718)
2008-08-26 20:19:38 -07:00
Jeremy Huddleston
1b42f55000 Xquartz: Added missing ev_type for NSTabletPoint event.
(cherry picked from commit 07548f1394)
2008-08-26 20:19:35 -07:00
Jeremy Huddleston
13a89f1920 XQuartz: Added more explanation to debug keylayout spew to cut down on report-spam.
(cherry picked from commit fcdc9f8b5a)
2008-08-26 20:19:33 -07:00
Adam Jackson
64ef7ed072 Centralize declaration of ConnectionInfo. 2008-08-20 13:14:34 -04:00
Jeremy Huddleston
f1f44940f1 XQuartz: Support windowItemModMask=0 or -1 to disable window shortcuts.
(cherry picked from commit 81187364e5)
(cherry picked from commit f2ec79e4a1)
2008-08-20 10:00:43 -07:00
Jeremy Huddleston
6c5612c2e1 XQuartz: Added window_item_modifiers defaults item (and option to localization) to change the modifier keys used for the windows menu.
(cherry picked from commit e4110861d3)
(cherry picked from commit fcfc05482a)
2008-08-20 10:00:37 -07:00
Jeremy Huddleston
bdc277c9b3 XQuartz: Just cleaned up formatting of event processing code... no "meat" changed...
(cherry picked from commit 745bc8ab38)
(cherry picked from commit a28a2be524)
2008-08-20 10:00:32 -07:00