Commit Graph

238 Commits

Author SHA1 Message Date
George Peter Staplin
1e9460abdf 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.
2008-09-19 00:02:48 -06:00
George Peter Staplin
4a8daf8846 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.
2008-09-18 13:10:41 -06:00
George Peter Staplin
12912adaee 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.
2008-09-17 12:04:20 -06:00
Jeremy Huddleston
1317c8ff94 XQuartz: Don't enable 8bit visuals in the TrueColor server, since it's not working yet 2008-09-17 10:11:00 -07:00
George Peter Staplin
934669f732 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.
2008-09-16 21:09:22 -06:00
George Peter Staplin
40190675a6 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.
2008-09-16 15:21:18 -06:00
George Peter Staplin
37361567b6 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.
2008-09-15 13:35:46 -06:00
George Peter Staplin
ea9dc27977 Add an image_jpeg Atom. 2008-09-15 13:31:19 -06:00
George Peter Staplin
d333a8e2b5 Rename reclaim_clipboard to claim_clipboard. 2008-09-15 13:28:50 -06:00
George Peter Staplin
32b175ef62 Add image/jpeg type, and rename reclaim_clipboard to claim_clipboard. 2008-09-15 13:27:08 -06:00
Jeremy Huddleston
21a2d0b8d0 XQuartz: pbproxy: Added global variables to customize how pbproxy behaves 2008-09-15 09:33:55 -07:00
Jeremy Huddleston
5c8b956f8f XQuartz: pbproxy: First round of updates to pbproxy from George. 2008-09-14 09:23:17 -07:00
Jeremy Huddleston
43184cd379 XQuartz: Dead code removal 2008-09-05 17:32:16 -07:00
Jeremy Huddleston
8dd6d5c825 XQuartz: 256 color support 2008-09-05 17:05:03 -07:00
Jeremy Huddleston
bf10fb0b1f XQuartz: Dead code removal 2008-09-05 10:46:36 -07:00
Jeremy Huddleston
4fe605c2bc XQuartz: Changed around fd handoff model to be more robust 2008-09-05 10:46:20 -07:00
Jeremy Huddleston
c0da576d49 XQuartz: Don't warp the pointer on server start for XQuartz 2008-09-04 14:59:10 -07:00
Jeremy Huddleston
c1caeb52a4 XQuartz: Make WarpPointer multithread safe in XQuartz. 2008-09-04 10:00:43 -07:00
Jeremy Huddleston
2e45344870 XQuartz: Dead code removal 2008-09-04 09:18:40 -07:00
Jeremy Huddleston
d942849f24 XQuartz: Fixed proximity logic errors for tablets. 2008-09-04 08:55:22 -07:00
Jeremy Huddleston
1f842c71c3 XQuartz: Added pasteboard proxy code stripped out of quartz-wm. 2008-09-03 09:16:16 -07:00
Jeremy Huddleston
6bca787609 XQuartz: Updated Tablet code to include ranges for valuators and added cursor and erasor 2008-09-03 09:11:25 -07:00
Jeremy Huddleston
2f1e163d5d XQuartz: Removed "Done" button from Applications Customization. Now properly save on exit. 2008-09-03 03:54:42 -07:00
Jeremy Huddleston
6932d0d19e XQuartz: Updated man page 2008-09-03 02:41:20 -07:00
Jeremy Huddleston
3d74f77490 XQuartz: Removed dead code (unused option definitions) 2008-09-03 02:37:09 -07:00
Jeremy Huddleston
ebfe49dfca XQuartz: Cleaned up our sleeping before adding the launchd socket. 2008-09-03 02:36:39 -07:00
Jeremy Huddleston
da647f1add XQuartz: Fixed editing of Applications menu 2008-08-30 16:13:58 -07:00
Jeremy Huddleston
aaf0f71db1 XQuartz: Added debugging output to the crash log to help track down two crashes, since people don't often report their system.log spew. 2008-08-29 19:43:13 -07:00
Jeremy Huddleston
25eccf12c8 XQuartz: xp_is_symbolic_hotkey_event catches the input menu, but not our mainMenu, so we still need to do that the old way. 2008-08-29 03:54:55 -07:00
Jeremy Huddleston
c8244177b0 XQuartz: Always use TIS for the keyboard layout seed since KB* aren't thread safe. 2008-08-26 23:09:20 -07:00
Jeremy Huddleston
01b3a99dff XQuartz: Fixed needed xplugin version. >< 2008-08-26 21:11:35 -07:00
Jeremy Huddleston
e7658e745f XQuartz: Use new Xplugin API to determine if a keypress event corresponds to an OS-X hotkey that we should dispatch to Appkit. 2008-08-26 19:13:56 -07:00
Jeremy Huddleston
54a882dcbd XQuartz: Made a note to come back to the xinitrc race condition in the 1.5 branch when we move up to it. 2008-08-25 22:10:46 -07:00
Jeremy Huddleston
f0351c2b80 XQuartz: Fixed bogus args to debug ErrorF 2008-08-22 01:12:37 -07:00
Jeremy Huddleston
c286f2a718 XQuartz: Cleaned up mouse event translation a bit more. 2008-08-22 01:11:33 -07:00
Jeremy Huddleston
07548f1394 Xquartz: Added missing ev_type for NSTabletPoint event. 2008-08-22 00:45:12 -07:00
Jeremy Huddleston
3520386261 XQuartz: Made X11Application.m a little more tidy. 2008-08-20 10:37:17 -07:00
Jeremy Huddleston
fcdc9f8b5a XQuartz: Added more explanation to debug keylayout spew to cut down on report-spam. 2008-08-20 10:21:23 -07:00
Jeremy Huddleston
81187364e5 XQuartz: Support windowItemModMask=0 or -1 to disable window shortcuts. 2008-08-20 09:50:54 -07:00
Jeremy Huddleston
e4110861d3 XQuartz: Added window_item_modifiers defaults item (and option to localization) to change the modifier keys used for the windows menu. 2008-08-20 09:21:44 -07:00
Jeremy Huddleston
745bc8ab38 XQuartz: Just cleaned up formatting of event processing code... no "meat" changed... 2008-08-19 02:18:16 -07:00
Jeremy Huddleston
02af74d7a5 XQuartz: Added appkit_modifiers defaults option which users can set to 'rcommand' to get access to the input menu with right command 2008-08-19 02:02:11 -07:00
Jeremy Huddleston
8fb6a1cf44 XQuartz: More input fixes
stuck-modifier fixes (capslock)
3button-emulation now doesn't send the modifier key with the click
Added other options to fake_button2 and fake_button3 defaults options:
	({l,r}{control,alt,command,shift})
2008-08-15 13:28:58 -07:00
Jeremy Huddleston
eedecba0b8 XQuartz: Updated bundle version to 2.3.1 2008-08-14 09:34:12 -07:00
Jeremy Huddleston
eeb6e5a9e9 XQuartz: Fixed a stuck modifier key bug. 2008-08-14 09:08:14 -07:00
Jeremy Huddleston
d207b037d2 XQuartz: Made 3-button mouse simulation a little more consistent. 2008-08-14 07:32:37 -07:00
Jeremy Huddleston
b287c481e1 XQuartz: Reverted "Control" text to be accurately "Command" in the input prefs. 2008-08-13 19:09:05 -07:00
Jeremy Huddleston
f3d478148c 1.4.2-apple7 2008-08-13 10:12:15 -07:00
Jeremy Huddleston
5854e712e9 XQuartz: Re-added deprecated code fallback failsafe for keyboard layout on Leopard with some debugging spew. 2008-08-08 00:19:41 -07:00
Jeremy Huddleston
672682ebf9 XQuartz: Now properly disable xauth checking on launchd socket and mostly fix the xinitrc / launchd race condition 2008-08-05 18:38:30 -07:00