diff options
author | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-09-27 15:00:19 -0700 |
---|---|---|
committer | Jeremy Huddleston <jeremyhu@freedesktop.org> | 2008-09-27 15:00:19 -0700 |
commit | 490cbe9888e2c1080495b003c429fdb1659444e1 (patch) | |
tree | 091c6daa90f5c6470bff876f6a03a155df669c97 | |
parent | 8edc5fb38c922f28659d2f823148339a8907c4d9 (diff) |
XQuartz: Send AppleWMReloadPreferences where appropriate.
-rw-r--r-- | hw/xquartz/X11Application.m | 11 | ||||
-rw-r--r-- | hw/xquartz/X11Controller.m | 59 | ||||
-rw-r--r-- | hw/xquartz/darwin.h | 6 | ||||
-rw-r--r-- | hw/xquartz/darwinEvents.c | 16 | ||||
-rw-r--r-- | hw/xquartz/darwinEvents.h | 1 |
5 files changed, 39 insertions, 54 deletions
diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m index f4b133a81..31cfa20e4 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 bbc5fd140..2482c05f6 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 4f5f121dd..68b4cf9ca 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 b37248a04..45c129ab7 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 7a1e8ca5d..61efa7526 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 */ |