xserver: Branch 'xorg-server-1.4-apple'

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Sat Sep 27 15:00:39 PDT 2008


 hw/xquartz/X11Application.m |   11 --------
 hw/xquartz/X11Controller.m  |   59 ++++++++++++++++++--------------------------
 hw/xquartz/darwin.h         |    6 ----
 hw/xquartz/darwinEvents.c   |   16 +++++++++--
 hw/xquartz/darwinEvents.h   |    1 
 5 files changed, 39 insertions(+), 54 deletions(-)

New commits:
commit 490cbe9888e2c1080495b003c429fdb1659444e1
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Sat Sep 27 15:00:19 2008 -0700

    XQuartz: Send AppleWMReloadPreferences where appropriate.

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index f4b133a..31cfa20 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -674,17 +674,6 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) {
 	
     enable_stereo = [self prefs_get_boolean:@PREFS_ENABLE_STEREO
                      default:false];
-    
-    pbproxy_active = [self prefs_get_boolean:@PREFS_SYNC_PB
-                                     default:pbproxy_active];
-    pbproxy_pasteboard_to_clipboard = [self prefs_get_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD
-                                                      default:pbproxy_pasteboard_to_clipboard];
-    pbproxy_pasteboard_to_primary = [self prefs_get_boolean:@PREFS_SYNC_PB_TO_PRIMARY
-                                                    default:pbproxy_pasteboard_to_primary];
-    pbproxy_clipboard_to_pasteboard = [self prefs_get_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB
-                                                      default:pbproxy_clipboard_to_pasteboard];
-    pbproxy_primary_on_grab = [self prefs_get_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT
-                                              default:pbproxy_primary_on_grab];
 }
 
 /* This will end up at the end of the responder chain. */
diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
index bbc5fd1..2482c05 100644
--- a/hw/xquartz/X11Controller.m
+++ b/hw/xquartz/X11Controller.m
@@ -54,13 +54,6 @@
 #include <sys/types.h>
 #include <sys/wait.h>
 
-// This will live in pbproxy/x-selection.m when we integrage that into a server thread... for now, living here for testing the UI.
-int pbproxy_active = YES;
-int pbproxy_primary_on_grab = NO; // This is provided as an option for people who want it and has issues that won't ever be addressed to make it *always* work
-int pbproxy_clipboard_to_pasteboard = YES;
-int pbproxy_pasteboard_to_primary = YES;
-int pbproxy_pasteboard_to_clipboard = YES;
-
 @implementation X11Controller
 
 - (void) awakeFromNib
@@ -630,21 +623,6 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
     X11EnableKeyEquivalents = [enable_keyequivs intValue];
     darwinSyncKeymap = [sync_keymap intValue];
 
-    pbproxy_active = [sync_pasteboard intValue];
-    pbproxy_pasteboard_to_clipboard = [sync_pasteboard_to_clipboard intValue];
-    pbproxy_pasteboard_to_primary = [sync_pasteboard_to_primary intValue];
-    pbproxy_clipboard_to_pasteboard = [sync_clipboard_to_pasteboard intValue];
-    pbproxy_primary_on_grab = [sync_primary_immediately intValue];
-
-    [sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
-    [sync_pasteboard_to_primary setEnabled:pbproxy_active];
-    [sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
-    [sync_primary_immediately setEnabled:pbproxy_active];
-
-    // setEnabled doesn't do this...
-    [sync_text1 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
-    [sync_text2 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
-    
     /* after adding prefs here, also add to [X11Application read_defaults]
      and prefs_show */
 	
@@ -659,19 +637,32 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
     [NSApp prefs_set_boolean:@PREFS_NO_TCP value:![enable_tcp intValue]];
     [NSApp prefs_set_integer:@PREFS_DEPTH value:[depth selectedTag]];
 
-    [NSApp prefs_set_integer:@PREFS_SYNC_PB value:pbproxy_active];
-    [NSApp prefs_set_integer:@PREFS_SYNC_PB_TO_CLIPBOARD value:pbproxy_pasteboard_to_clipboard];
-    [NSApp prefs_set_integer:@PREFS_SYNC_PB_TO_PRIMARY value:pbproxy_pasteboard_to_primary];
-    [NSApp prefs_set_integer:@PREFS_SYNC_CLIPBOARD_TO_PB value:pbproxy_clipboard_to_pasteboard];
-    [NSApp prefs_set_integer:@PREFS_SYNC_PRIMARY_ON_SELECT value:pbproxy_primary_on_grab];
+    BOOL pbproxy_active = [sync_pasteboard intValue];
+    
+    [NSApp prefs_set_boolean:@PREFS_SYNC_PB value:pbproxy_active];
+    [NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD value:[sync_pasteboard_to_clipboard intValue]];
+    [NSApp prefs_set_boolean:@PREFS_SYNC_PB_TO_PRIMARY value:[sync_pasteboard_to_primary intValue]];
+    [NSApp prefs_set_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB value:[sync_clipboard_to_pasteboard intValue]];
+    [NSApp prefs_set_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT value:[sync_primary_immediately intValue]];
     
-    system("killall -HUP quartz-wm");
-	
     [NSApp prefs_synchronize];
+
+    [sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
+    [sync_pasteboard_to_primary setEnabled:pbproxy_active];
+    [sync_clipboard_to_pasteboard setEnabled:pbproxy_active];
+    [sync_primary_immediately setEnabled:pbproxy_active];
+    
+    // setEnabled doesn't do this...
+    [sync_text1 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
+    [sync_text2 setTextColor:pbproxy_active ? [NSColor controlTextColor] : [NSColor disabledControlTextColor]];
+    
+	DarwinSendDDXEvent(kXquartzReloadPreferences, 0);
 }
 
 - (IBAction) prefs_show:sender
 {
+    BOOL pbproxy_active = [NSApp prefs_get_boolean:@PREFS_SYNC_PB default:YES];
+    
     [fake_buttons setIntValue:darwinFakeButtons];
     [use_sysbeep setIntValue:quartzUseSysBeep];
     [enable_keyequivs setIntValue:X11EnableKeyEquivalents];
@@ -684,12 +675,12 @@ objectValueForTableColumn:(NSTableColumn *)tableColumn row:(int)row
     [enable_tcp setIntValue:![NSApp prefs_get_boolean:@PREFS_NO_TCP default:NO]];
 
     [depth selectItemAtIndex:[depth indexOfItemWithTag:[NSApp prefs_get_integer:@PREFS_DEPTH default:-1]]];
-    
+
     [sync_pasteboard setIntValue:pbproxy_active];
-    [sync_pasteboard_to_clipboard setIntValue:pbproxy_pasteboard_to_clipboard];
-    [sync_pasteboard_to_primary setIntValue:pbproxy_pasteboard_to_primary];
-    [sync_clipboard_to_pasteboard setIntValue:pbproxy_clipboard_to_pasteboard];
-    [sync_primary_immediately setIntValue:pbproxy_primary_on_grab];
+    [sync_pasteboard_to_clipboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_CLIPBOARD default:YES]];
+    [sync_pasteboard_to_primary setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PB_TO_PRIMARY default:YES]];
+    [sync_clipboard_to_pasteboard setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_CLIPBOARD_TO_PB default:YES]];
+    [sync_primary_immediately setIntValue:[NSApp prefs_get_boolean:@PREFS_SYNC_PRIMARY_ON_SELECT default:NO]];
 
     [sync_pasteboard_to_clipboard setEnabled:pbproxy_active];
     [sync_pasteboard_to_primary setEnabled:pbproxy_active];
diff --git a/hw/xquartz/darwin.h b/hw/xquartz/darwin.h
index 4f5f121..68b4cf9 100644
--- a/hw/xquartz/darwin.h
+++ b/hw/xquartz/darwin.h
@@ -89,12 +89,6 @@ extern unsigned int     darwinDesiredWidth, darwinDesiredHeight;
 extern int              darwinDesiredDepth;
 extern int              darwinDesiredRefresh;
 
-extern int              pbproxy_active;
-extern int              pbproxy_primary_on_grab;
-extern int              pbproxy_clipboard_to_pasteboard;
-extern int              pbproxy_pasteboard_to_primary;
-extern int              pbproxy_pasteboard_to_clipboard;
-
 // location of X11's (0,0) point in global screen coordinates
 extern int              darwinMainScreenX;
 extern int              darwinMainScreenY;
diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c
index b37248a..45c129a 100644
--- a/hw/xquartz/darwinEvents.c
+++ b/hw/xquartz/darwinEvents.c
@@ -107,6 +107,7 @@ static pthread_t create_thread(void *func, void *arg) {
     return tid;
 }
 
+void darwinEvents_lock(void);
 void darwinEvents_lock(void) {
     int err;
     if((err = pthread_mutex_lock(&mieq_lock))) {
@@ -119,6 +120,7 @@ void darwinEvents_lock(void) {
     }
 }
 
+void darwinEvents_unlock(void);
 void darwinEvents_unlock(void) {
     int err;
     if((err = pthread_mutex_unlock(&mieq_lock))) {
@@ -225,6 +227,13 @@ static void DarwinEventHandler(int screenNum, xEventPtr xe, DeviceIntPtr dev, in
                 QuartzHide();
                 break;
 
+            case kXquartzReloadPreferences:
+                DEBUG_LOG("kXquartzReloadPreferences\n");
+                AppleWMSendEvent(AppleWMActivationNotify,
+                                 AppleWMActivationNotifyMask,
+                                 AppleWMReloadPreferences, 0);
+                break;
+                
             case kXquartzToggleFullscreen:
                 DEBUG_LOG("kXquartzToggleFullscreen\n");
 #ifdef DARWIN_DDX_MISSING
@@ -315,6 +324,7 @@ Bool DarwinEQInit(void) {
     mieqSetHandler(kXquartzReloadKeymap, DarwinKeyboardReloadHandler);
     mieqSetHandler(kXquartzActivate, DarwinEventHandler);
     mieqSetHandler(kXquartzDeactivate, DarwinEventHandler);
+    mieqSetHandler(kXquartzReloadPreferences, DarwinEventHandler);
     mieqSetHandler(kXquartzSetRootClip, DarwinEventHandler);
     mieqSetHandler(kXquartzQuit, DarwinEventHandler);
     mieqSetHandler(kXquartzReadPasteboard, QuartzReadPasteboard);
@@ -394,8 +404,8 @@ static void DarwinPrepareValuators(int *valuators, ScreenPtr screen,
     valuators[3] = tilt_x * SCALEFACTOR_TILT;
     valuators[4] = tilt_y * SCALEFACTOR_TILT;
     
-    DEBUG_LOG("Valuators: {%d,%d,%d,%d,%d}\n", 
-              valuators[0], valuators[1], valuators[2], valuators[3], valuators[4]);
+//    DEBUG_LOG("Valuators: {%d,%d,%d,%d,%d}\n", 
+//              valuators[0], valuators[1], valuators[2], valuators[3], valuators[4]);
 }
 
 void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int pointer_y, 
@@ -406,7 +416,7 @@ void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int poin
     ScreenPtr screen;
     int valuators[5];
 	
-    DEBUG_LOG("x=%d, y=%d, p=%f, tx=%f, ty=%f\n", pointer_x, pointer_y, pressure, tilt_x, tilt_y);
+//    DEBUG_LOG("x=%d, y=%d, p=%f, tx=%f, ty=%f\n", pointer_x, pointer_y, pressure, tilt_x, tilt_y);
     
 	if(!darwinEvents) {
 		DEBUG_LOG("DarwinSendPointerEvents called before darwinEvents was initialized\n");
diff --git a/hw/xquartz/darwinEvents.h b/hw/xquartz/darwinEvents.h
index 7a1e8ca..61efa75 100644
--- a/hw/xquartz/darwinEvents.h
+++ b/hw/xquartz/darwinEvents.h
@@ -63,6 +63,7 @@ enum {
      */
     kXquartzControllerNotify, // send an AppleWMControllerNotify event
     kXquartzPasteboardNotify, // notify the WM to copy or paste
+    kXquartzReloadPreferences, // send AppleWMReloadPreferences
     /*
      * Xplugin notification events
      */


More information about the xorg-commit mailing list