Commit Graph

138 Commits

Author SHA1 Message Date
Jeremy Huddleston 38e9e28ba2 XQuartz: Use set_front_process rather than X11ApplicationSetFrontProcess since we're already in the AppKit thread
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-09-28 13:31:48 -07:00
Jeremy Huddleston c319f7b5b3 XQuartz: Use CFSTR to avoid implicit cast warning of NSString * to CFStringRef
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-07-31 16:44:55 -07:00
Jeremy Huddleston ac43984215 XQuartz: Add a scroll_in_device_direction preference
This preference allows users to override the related option in Mac OS X's
Mouse/Trackpad preferences.  This effectively lets the user determine
which "context" all of X11 fits into for context-based scrolling until
such API exists within X11 itself to pass along to X11 clients.

This is applicable to Mav OS X 10.7+

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-07-19 20:00:27 -07:00
Jeremy Huddleston 88ad050f3c XQuartz: Add some sanity checking and a fallback for the bundle id.
This way we'll print an error and still mostly work rather than crashing if
someone installs XQuartz.app incorrectly or tries running the server within
the build system rather than the installed system.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-07-18 22:54:21 -07:00
Jeremy Huddleston c8b80a82d9 XQuartz: Make a call to activateIgnoringOtherApps in our NSApplicationActivatedEventType handler
In addition, this change will not call into the X11 activation unless an X11
window was active when we deactivated.  We can't rely on the event and current
key windows because the key window will be nil until activated, and the event
will only reference the window if the window was clicked (whereas it will be
nil if we activated via dock or cmd-tab).

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-28 13:07:19 -07:00
Jeremy Huddleston c3df4df407 XQuartz: Add missing include for <pthread.h>
BuildFix for Leopard and earlier.

https://trac.macports.org/ticket/29717

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-15 08:17:26 -07:00
Jeremy Huddleston c0077b41b4 XQuartz: Add a semicolon after DEBUG_LOG
Don't rely on the macro to provide it

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-06-01 20:56:18 -07:00
Jeremy Huddleston 7413886d65 XQuartz: Silence clang warnings about shadow declarations
X11Application.m:1272:26: warning: declaration shadows a local variable [-Wshadow,Semantic Issue]
                xp_error e;
                         ^
X11Application.m:1098:36: note: previous declaration is here
- (void) sendX11NSEvent:(NSEvent *)e {
                                   ^
1 warning generated.

bundle-main.c:648:36: warning: declaration shadows a local variable [-Wshadow,Semantic Issue]
                    int max_files, i;
                                   ^
bundle-main.c:594:9: note: previous declaration is here
    int i;
        ^
1 warning generated.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-05-22 11:17:59 -07:00
Jeremy Huddleston 6f29dbf5e3 XQuartz: Use ErrorF rather than fprintf to log errors
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 22:00:41 -07:00
Jeremy Huddleston de4023f194 XQuartz: Rename launchd-id-prefix to bundle-id-prefix
It's used many other places than just for launchd.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-25 18:57:04 -07:00
Jeremy Huddleston 9244a3a24f XQuartz: xpr: Use a serial queue rather than pthread mutexes for window_hash
Additionally removes some dead code and fixes double-locking in
xprIsX11Window.  xprIsX11Window doesn't need to do any locking because
those resources are protected by the called functions themselves.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Daniel A. Steffen <dsteffen@apple.com>
2011-04-25 18:57:03 -07:00
Nicolas Kaiser c270cfc30c hw/xquartz: remove duplicated includes
Remove duplicated includes.

Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-24 19:46:07 -07:00
Jeremy Huddleston 5f496bc919 XQuartz: Do translation and handoff of NSEvent to X11 in a separate serial queue
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-22 02:20:59 -07:00
Jeremy Huddleston 72bd232b11 XQuartz: Send tablet proximity events with tilt and pressure
<rdar://problem/6257569>

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-22 01:24:44 -07:00
Jeremy Huddleston 3960115dbc XQuartz: Fix prototypes for thread functions
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-04-21 23:56:18 -07:00
Jeremy Huddleston 968652983f XQuartz: RandR: Provide an alert box when entering a RandR mode for the first time.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2011-02-27 15:46:22 -08:00
Jeremy Huddleston 883039e07b XQuartz: Just NSBeep() for XBell()
The CoreAudio path uses deprecated API and has reported crashes that
aren't worth fixing (4e8bf12b13 fixed
one and introduced another).  NSBeep() does the job just fine.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-12-08 13:57:19 -08:00
Jeremy Huddleston a4698754c1 XQuartz: Add pointer debugging
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-11-22 19:14:51 -08:00
Jeremy Huddleston c45bea0c04 XQuartz: RandR: Refactor legacy mode-switching to be better integrated with RandR
Adds three new functions
void QuartzRandRSetFakeRootless (void);
void QuartzRandRSetFakeFullscreen (void);
void QuartzRandRToggleFullscreen (void);

The first two are identical to requesting the fake modes from a RandR client
The third responds to cmd-alt-a to leave fullscreen or RandR.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 10:09:11 -07:00
Jeremy Huddleston 229323a19b XQuartz: RandR: Don't change the rootless preference when changing RandR mode
Also renames a bunch of other variables for better consistency.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-09-28 09:50:35 -07:00
Jeremy Huddleston 4fc4cab98d XQuartz: Make application switching work better for the no-spaces case
We still have the issue with not raising the frontmost window for the case
when spaces is enabled, and the AppleSpacesSwitchOnActivate preference is
disabled.

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-08-12 20:26:36 -10:00
Jeremy Huddleston ecfeabec8d XQuartz: Don't use deltaXY for determining pointer location on scroll events
<rdar://problem/7989690>

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Edward Moy <emoy@apple.com>
2010-05-16 13:12:26 -07:00
Jeremy Huddleston a911292c85 XQuartz: Don't trust deltaXY for middle mouse clicks.
The middle mouse clicks return erroneous values after returning from
Fast User Switching.

<rdar://problem/7979468>
http://xquartz.macosforge.org/trac/ticket/389

Signed-off-by: Martin Otte <otte@duke.edu>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Edward Moy <emoy@apple.com>
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-05-16 13:12:15 -07:00
Jeremy Huddleston 840d12c7a6 XQuartz: Add a defaults option to toggle Alt / Mode_switch
See option_sends_alt in Xquartz(1)

Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Kevin Van Vechten <kvv@apple.com>
2010-04-11 16:30:19 -07:00
Jeremy Huddleston d16bc8a3cd XQuartz: xpbproxy: Cleanup xpbproxy threading
Confine xpbproxy to a single thread
Runs inside its own CFRunLoop

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2010-03-21 21:56:39 -07:00
Jeremy Huddleston 4127e8e5be XQuartz: clang static analysis fixes
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
2010-02-15 15:03:49 -08:00
Jeremy Huddleston 6d6e8fb27f XQuartz: Controller thread launches clients
This avoids a memory leak due to no active auto-release pool on the server thread.

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
2009-11-05 18:34:50 -08:00
Jeremy Huddleston 5e79976c13 XQuartz: Run xmodmap after programatically updating the keymap.
Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
Signed-off-by: Martin Otte <otte@duke.edu>
2009-11-03 16:35:27 -08:00
Jeremy Huddleston c4886fbabc XQuartz: Send mouse location with scroll events.
This fixes the problem where (0, 0) was sent as the mouse location with scroll
button events causing the event to not reach the client.
2009-10-02 18:58:35 -07:00
Jeremy Huddleston 67a51cd9ef XQuartz: Fix a bunch of compilation warnings about style
(cherry picked from commit 54000bdcbca52a2de31f7c1a1147de6d8e9dbbb8)
2009-09-27 23:31:35 -07:00
Jeremy Huddleston 96780eaf32 XQuartz: Nuke TSM
It's deprecated in SnowLeopard.  Ben and I both have no idea what it is for.  It says something about unicode input, but urxvt seems fine taking in unicode, so /shrug... bye.
(cherry picked from commit 29cb904e4de2411a9b6dbe68694954788f0525f7)
2009-09-27 23:31:29 -07:00
Jeremy Huddleston 558d803b29 XQuartz: Force a keymap resync on the first keypress to workaround XKB mucking with our keymap.
We need to find a better way to work with XKB on this.
(cherry picked from commit ceaa5c779ceed3de5ea53727649613be3133b24e)
2009-09-27 23:31:16 -07:00
Jeremy Huddleston 07c935b72f XQuartz: Use applewmproto 1.4 updated headers.
(cherry picked from commit 203df06c0eb2dcd5adfa788a1ba9569650c15f9c)
2009-08-25 20:16:47 -07:00
Jeremy Huddleston 0fe639a314 XQuartz: Only save lastpt on mouse/tablet events
(cherry picked from commit 552be074e5be6492df3e290e8b7d9daff1a2cb34)
2009-08-05 16:17:33 -07:00
Jeremy Huddleston 491c2d74c1 XQuartz: Use mouseLocation rather than locationInWindow when setting lastpt
I don't understand the *why* ... I just see that it works better this way for games like Quake2 through wine.  It *should* be better the other way, but somehow it's not.

I guess this will go in my list of puzzles to unravel.
(cherry picked from commit 65ae2d00e1a53f97f2ff9522406ab69d50bf3199)
2009-08-05 16:17:22 -07:00
Jeremy Huddleston df6c013524 XQuartz: Don't use location delta for tablets since NSEvent does not give a precise delta.
(cherry picked from commit 6c5bf756a7f5389cdfe2e43a339d7c31a3e522e9)
2009-08-05 16:17:09 -07:00
Jeremy Huddleston 1e49c8d340 XQuartz: Avoid namespace collission for BOOL in Sparkle
(cherry picked from commit 227c6e01a641b72158201553273299283cdb5599)
2009-07-28 22:54:06 -07:00
Jeremy Huddleston 171409cecb XQuartz: Set can_quit to true during a Sparkle-initiated relaunch.
(cherry picked from commit b2e9a77111d4572402d8ca95e3368db97ba7d598)
2009-07-24 09:41:46 -07:00
Jeremy Huddleston 7ff84d350b XQuartz: Added a "Check for X11 Updates..." menu item.
(cherry picked from commit 305144bfa4b59791123c44e869fab93a084792d6)
2009-07-24 09:41:32 -07:00
Jeremy Huddleston be4dd35ffe XQuartz: Initial support for automatic updates through Sparkle
(cherry picked from commit c45f1be36426bceeef9af67c26351114f14f5277)
2009-07-20 22:04:18 -07:00
Jeremy Huddleston a362d0f4fb XQuartz: Make sure the bgMouseLocationUpdated state is consistent
(cherry picked from commit 8fa8a8e1db60c8ac60d10f1f15517471d2291f77)
2009-04-22 19:30:18 -07:00
Jeremy Huddleston 140463a197 XQuartz: Use correct values for ProximityIn and ProximityOut
This was the other underlying cause of teh 100% CPU tablet issue.
(cherry picked from commit a9cecf34c23fbcd59b56b380c51d31a9fabc3eb7)
2009-04-11 17:26:27 -07:00
Jeremy Huddleston 6f8f7c78f1 XQuartz: Re-enable background window checking
since that code was not the culprit for the wacom tablet, background 100% CPU bug
(cherry picked from commit fc1dc5d71b2a488a8a94d953dd8e67353161a590)
2009-04-11 17:23:03 -07:00
Jeremy Huddleston 8522a759c9 XQuartz: Only set MotionNotify on activation if it is updated.
(cherry picked from commit ae8077a251ef27381a755d57ff974767bda16148)
2009-04-11 17:22:50 -07:00
Jeremy Huddleston 5e55becddc XQuartz: Make sure the Fn doesn't trigger unneccessary calls to DarwinUpdateModKeys()
(cherry picked from commit 70a18558c6b0a02b633fd8974f002cdf3cdc713e)
2009-04-11 17:22:38 -07:00
Jeremy Huddleston e86f4e9302 XQuartz: Send MotionNotify before button presses when X11 is in the background
(cherry picked from commit c80d0ec18ef5b842447d31360406d0b5b9424222)
2009-04-10 00:46:35 -07:00
Jeremy Huddleston 67621f3b39 XQuartz: Send a MotionNotify event for the mouse cursor when activating X11.app
Otherwise if X11.app was activated with a mouse click, the location of the even is the last location of the cursor before X11 was deactivated
(cherry picked from commit c7457d7b31ddd2ddfd04dd6294bed4532664e1ab)
2009-04-05 16:32:02 -07:00
Jeremy Huddleston 9180081ec3 XQuartz: Still send mouse events while X11 is in the background if we have test extensions enabled
(cherry picked from commit f393fb686cfbedb11a1539d4eaf5c491af8b3a64)
2009-04-01 13:53:15 -07:00
Jeremy Huddleston 3311ef6ec9 XQuartz: Don't report mouse events while X11 is not the foreground application
(cherry picked from commit 5d1dd35096334b59564d77caef7a97bd58845c5d)
2009-03-31 18:13:18 -07:00
Jeremy Huddleston 0b6e14d46f XQuartz: Fix mouse tracking for quake, et. al. in wine
Patch courtesy of Codeweavers

Fix mouse movement tracking.  For a non-window-related mouse-move event,
calculate the new position by adding the event's delta-x and delta-y values
to the previous mouse position.  Do not rely on the current mouse position
because it may have been changed by a XWarpPointer call.
(cherry picked from commit 7a67935b05a475215b9bdbb959e4f7e15f32416f)
2009-03-30 20:41:38 -07:00