Commit Graph

306 Commits

Author SHA1 Message Date
Jeremy Huddleston
c837d182c4 XQuartz: Only send mouse events while in the background if we're over a visible window.
This "breaks" xeyes but gets rid of annoying tooltips.
(cherry picked from commit 10090a132a)
2008-10-21 09:34:56 -07:00
Jeremy Huddleston
2a9613980f XQuartz: More fullscreen fixes
Start in rooted mode when enabled
  Make the hotkey cmd-alt-a behave
(cherry picked from commit 22a54e4617)
2008-10-21 09:34:49 -07:00
Jeremy Huddleston
e4ea1494de XQuartz: Cleaned up keyboard init and map reload.
(cherry picked from commit f78c9fc06c)
2008-10-21 09:34:40 -07:00
Jeremy Huddleston
ebb2e1449c XQuartz: Fixed follow-keyboard-layout
≈
(cherry picked from commit a9f9fbf512)
2008-10-21 09:34:28 -07:00
Jeremy Huddleston
f67cd31d2c XQuartz: More progress towards fullscreen...
(cherry picked from commit 628cae86b4)
(cherry picked from commit b47b7ab6d6)
2008-10-21 09:34:17 -07:00
Jeremy Huddleston
d434ed4009 XQuartz: Fixed missing key-equiv for Hide-Others.
(cherry picked from commit 2c4b0f9615)
2008-10-21 09:32:20 -07:00
George Peter Staplin
f935c11398 XQuartz: pbproxy: Fix 2 bugs with the preferences.
Add dump_prefs() for instrospection.

Make prefs_get_bool a little more clear.

In get_property don't assume that the Mac realloc(NULL, 0); returns
non-NULL.  We shouldn't depend on implementation-defined behavior too
much.

Add more commentary in various spots.

Add TARGETS in the TARGETS response.  I don't know why some X11 apps
do this, but it could be something that some weird toolkit/app tests
for.

In reload_preferences add preferences synchronization, so that xpbproxy
reloads the preferences, and picks up any changes.

Fix a typo/misspelling of the sync_clipboard_to_pasteboard preference.
(cherry picked from commit 165cbbb90c)
2008-10-21 09:32:03 -07:00
Jeremy Huddleston
4d978af5c7 XQuartz: Fixed window levels.
(cherry picked from commit ef4d37c73f)
2008-10-21 09:31:56 -07:00
Jeremy Huddleston
84ef8ed6fb XQuartz: implemented primary-on-grab and fixed clipboard-to-pasteboard
(cherry picked from commit bcb83eea72)
2008-10-15 17:31:54 -07:00
Jeremy Huddleston
d13c3cbd43 XQuartz: Some motion made towards supporting fullscreen.
(cherry picked from commit 99be3d68b6)
2008-10-08 18:45:17 -07:00
Jeremy Huddleston
dc166bf642 XQuartz: Fixed EXTRA_DIST for new GL files.
(cherry picked from commit a11c905203)
2008-10-08 18:45:13 -07:00
George Staplin
8033279294 XQuartz: GL: setVisualConfigs() copied the behavior of indirect.c which is wrong, with regard to the handling of xcalloc failure.
Use ErrorF for an error message after an xcalloc failure, and return instead of falling through to GlxSetVisualConfigs, or abort()ing at the test branch.
(cherry picked from commit 1056700971)
2008-10-08 18:45:09 -07:00
Jeremy Huddleston
f1fec6f323 XQuartz: Call setVisualConfigs in InitOutput, and only when GLXEXT is defined.
(cherry picked from commit 97173d4eda)
2008-10-08 18:45:04 -07:00
George Staplin
52accec7db XQuartz: GL: Add the proper license information to the new files, and add more commentary to setVisualConfigs().
(cherry picked from commit 190a3d5e5d)
2008-10-08 18:44:28 -07:00
George Staplin
63abdf6115 XQuartz: GL: Add the new C code to the Makefile.am.
Commit the darwin.c changes I missed in the last commit, for calling
setVisualConfigs().
(cherry picked from commit eb3c014e17)
2008-10-08 18:44:24 -07:00
George Staplin
a8f5d422c9 XQuartz: GL: Provide code for getting the capabilities of the underlying system's CGL.
Add a setVisualConfigs that is called before the fbScreenInit, to setup the __GLXvisualConfigs.
(cherry picked from commit fc86f9e448)
2008-10-08 18:44:21 -07:00
Jeremy Huddleston
2998e48be3 Xquartz: Fix parallel builds
(cherry picked from commit 1fe7298a3b)
2008-10-08 18:44:17 -07:00
Adam Jackson
8a5b89e8e1 xalloc+memset(0) -> xcalloc 2008-10-06 15:36:51 -04:00
Jeremy Huddleston
aacac3edac XQuartz: Bumped bundle version to 2.3.2 for beta1
(cherry picked from commit 2021c4c4e7)
2008-10-04 21:17:14 -07:00
Jeremy Huddleston
ed3134918d XQuartz: pbcopy: Re-enabled some code I commented out for testing
(cherry picked from commit 9b5d114092)
2008-10-04 21:17:09 -07:00
Jeremy Huddleston
b3a971d8b5 XQuartz: xpbproxy: Support some of the preference toggles from X11.app, cleaned up CLIPBOARD_MANAGER atom management.
(cherry picked from commit f7673bb4de)
2008-10-04 21:17:02 -07:00
Jeremy Huddleston
fc35c7a2e2 XQuartz: GLX - enable_stereo defaults option should work now
(cherry picked from commit 3a6898f487)
2008-10-04 21:16:54 -07:00
Adam Jackson
e6b1c1fada const cleanup 2008-10-03 17:51:19 -04:00
George Peter Staplin
7bb73a9513 XQuartz: pbproxy: Possibly fix a memory leak by using an [NSApp run] loop,
instead of calling CFRunLoopRun() directly.  The leak wasn't reproducible on
this machine, but someone was able to produce a leak trace with Instruments
that indicates it was leaking in the CFRunLoopRun() path.

x-input.m: dequeue and ignore events when pbproxy_active is false.

x-selection.h: add an is_active method that is used by x-input.m to ignore
events.

x-selection.m: Handle nearly every preference, except for primary_on_grab,
which I don't really understand yet.
(cherry picked from commit 4d51ad851e)
2008-10-03 11:14:49 -07:00
Jeremy Huddleston
2a5ce41f03 XQuartz: Use "pointer" and "pen" for device names to please GDK.
(cherry picked from commit 00ca0f4d83)
2008-10-03 11:14:43 -07:00
Jeremy Huddleston
d3f597a986 XQuartz: Workaround for initial pressure/tilt being sent as 0 with motion during the proximity event
(cherry picked from commit 9a91d770a6)
2008-10-03 11:14:40 -07:00
Jeremy Huddleston
1657dfb843 XQuartz: Using absolute ranges for pointer location to increase resolution and better support tablets.
(cherry picked from commit d79ccb45f6)
2008-10-03 11:14:38 -07:00
Jeremy Huddleston
88bb8c6f48 XQuartz: Removed resolved comment about localization.
(cherry picked from commit 8ed5faf058)
2008-10-03 11:14:34 -07:00
George Peter Staplin
b1d0b19661 XQuartz: pbproxy: Make the signal handler safer by using _exit, and only exit.
Remove some unnecesssary headers.

Remove some dead code that was never called or used in pbproxy.

Make use of an NSAutoreleasePool in x_init.  It could potentially cause a leak
on a startup without this.

Start adding reload_preferences to the x_selection class, as well as event
handling for that.
(cherry picked from commit 602e8ba8f7)
2008-10-03 11:14:30 -07:00
Jeremy Huddleston
ecd260143c XQuartz: Added some localizable strings that were missing.
(cherry picked from commit 2c8205ea8b)
2008-10-03 11:14:28 -07:00
Jeremy Huddleston
aae878b890 XQuartz: Actually send the pointer event from the pen even if it happes to actually have 0 pressure and 0 tilt.
(cherry picked from commit f415837619)
2008-10-03 11:13:03 -07:00
Jeremy Huddleston
b7ad86ff8a Xquartz: xpbproxy: Split out app-specific stuff to app-main.m in prep for making this into a thread.
(cherry picked from commit c2012138a5)
2008-10-03 11:12:57 -07:00
Jeremy Huddleston
5446adebfb XQuartz: Send AppleWMReloadPreferences where appropriate.
(cherry picked from commit 490cbe9888)
2008-10-03 11:12:49 -07:00
Jeremy Huddleston
6020c3fbfe XQuartz: Added a --enable-integrated-xpbproxy configure option for building xpbproxy as an app or as a thread.
(cherry picked from commit 8edc5fb38c)
(cherry picked from commit 88033a66a5)
2008-10-03 11:11:47 -07:00
George Peter Staplin
eb8be3e90a XQuartz: pbproxy: Fix another STRING bug.
Fix the usage of the NSString cStringUsingEncoding: - it doesn't NUL
terminate the string, which lead to a bus error.  So, we use
lengthOfBytesUsingEncoding: to get the length in bytes instead of
strlen().
(cherry picked from commit 6333d619e7)
2008-09-26 12:31:33 -07:00
George Peter Staplin
edfa3f8233 XQuartz: pbproxy: Fix a bug that rxvt brought out in STRING copying. Now I can copy and paste to/from rxvt correctly.
(cherry picked from commit 82a4dc5f0f)
2008-09-26 12:31:29 -07:00
Jeremy Huddleston
12a59c44cb XQuartz: Fixed threading issue with TSM.
(cherry picked from commit 93ab4e0071)
2008-09-26 12:31:21 -07:00
Jeremy Huddleston
ee87c9b024 XQuartz: pbproxy: Removed stray SPI include.
(cherry picked from commit 2fb2bc77b8)
2008-09-26 12:31:18 -07:00
George Peter Staplin
591cc57627 XQuartz: pbproxy: Fix 3 paths that could leak memory.
2 of the paths leaked, when INCR transfers were done.  Now we
are leak free according to the leaks program for all transfers
I have tried so far.
(cherry picked from commit aa98db576b)
2008-09-26 12:31:12 -07:00
George Peter Staplin
586fbc91df XQuartz: pbproxy: Fix NSObject memory leaks by properly using the
NSAutoreleasePool.   Now the usage is consistent.  In x_input_run()
we create a pool, and release it after processing the XEvents.

Add some getpid() output to main for debugging.  It needs a bit more
testing before the next release.

Don't retain the NSPasteboard as the old code did.  That may have
contributed to the leak, and it made it so that we needed the
NSAutoreleasePool created in main().

Remove the _known_types, and _pasteboard instance variables from
the x_selection class.  They aren't needed anymore.

The leaks program now indicates 0 leaks after some usage.  I want
to test further, but this seems much better, and my memory usage
graph indicates it's not growing.
(cherry picked from commit b245d84a72)
2008-09-26 12:31:06 -07:00
George Peter Staplin
238999cfc9 XQuartz: pbproxy: Add a comment to pbproxy.h about how the DB()
macro causes a leak (according to the leaks program).

Attempt to fix several other leaks with release method calls.
For some reason the process still grows more than it should...

I will need to use some better methods than leaks, and malloc_history
I suspect.  Whatever is leaking, it's hard to find.  I need to isolate
the cases more.

Add a missing image/jpeg branch.

Remove read_prop_32 - it's not used.
(cherry picked from commit 63a680354d)
2008-09-26 12:31:01 -07:00
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