From f3e6d129662d72235a72a6df60a76343d1df055d Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Sat, 24 Nov 2007 03:31:54 -0800 Subject: [PATCH] Darwin: Formatting cleanup --- hw/darwin/quartz/X11Application.m | 1034 +++++++++++++---------------- 1 file changed, 463 insertions(+), 571 deletions(-) diff --git a/hw/darwin/quartz/X11Application.m b/hw/darwin/quartz/X11Application.m index c6faa2ced..cba65f0f0 100644 --- a/hw/darwin/quartz/X11Application.m +++ b/hw/darwin/quartz/X11Application.m @@ -1,6 +1,6 @@ /* X11Application.m -- subclass of NSApplication to multiplex events - Copyright (c) 2002-2007 Apple Inc. All rights reserved. + Copyright (c) 2002-2007 Apple Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files @@ -54,13 +54,15 @@ WindowPtr xprGetXWindowFromAppKit(int windowNumber); // xpr/xprFrame.c int X11EnableKeyEquivalents = TRUE; int quartzHasRoot = FALSE, quartzEnableRootless = TRUE; -extern int darwinFakeButtons; -extern Bool enable_stereo; +extern int darwinFakeButtons, input_check_flag; +// extern Bool enable_stereo; +Bool enable_stereo; //<-- this needs to go back to being an extern once glxCGL is fixed + +extern xEvent *darwinEvents; X11Application *X11App; -#define ALL_KEY_MASKS (NSShiftKeyMask | NSControlKeyMask \ -| NSAlternateKeyMask | NSCommandKeyMask) +#define ALL_KEY_MASKS (NSShiftKeyMask | NSControlKeyMask | NSAlternateKeyMask | NSCommandKeyMask) @implementation X11Application @@ -79,27 +81,21 @@ static void send_nsevent (NSEventType type, NSEvent *e); but is statically linked into this X server. */ extern Bool QuartzModeBundleInit(void); -static void -init_ports (void) -{ +static void init_ports (void) { kern_return_t r; NSPort *p; - if (_port != MACH_PORT_NULL) - return; + if (_port != MACH_PORT_NULL) return; r = mach_port_allocate (mach_task_self (), MACH_PORT_RIGHT_RECEIVE, &_port); - if (r != KERN_SUCCESS) - return; + if (r != KERN_SUCCESS) return; p = [NSMachPort portWithMachPort:_port]; [p setDelegate:NSApp]; [p scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode]; } -static void -message_kit_thread (SEL selector, NSObject *arg) -{ +static void message_kit_thread (SEL selector, NSObject *arg) { message msg; kern_return_t r; @@ -114,29 +110,24 @@ message_kit_thread (SEL selector, NSObject *arg) msg.arg = [arg retain]; r = mach_msg (&msg.hdr, MACH_SEND_MSG, msg.hdr.msgh_size, - 0, MACH_PORT_NULL, 0, MACH_PORT_NULL); + 0, MACH_PORT_NULL, 0, MACH_PORT_NULL); if (r != KERN_SUCCESS) - fprintf (stderr, "%s: mach_msg failed: %x\n", __FUNCTION__, r); + ErrorF("%s: mach_msg failed: %x\n", __FUNCTION__, r); } -- (void) handleMachMessage:(void *)_msg -{ +- (void) handleMachMessage:(void *)_msg { message *msg = _msg; [self performSelector:msg->selector withObject:msg->arg]; [msg->arg release]; } -- (void) set_controller:obj -{ - if (_controller == nil) - _controller = [obj retain]; +- (void) set_controller:obj { + if (_controller == nil) _controller = [obj retain]; } -- (void) dealloc -{ - if (_controller != nil) - [_controller release]; +- (void) dealloc { + if (_controller != nil) [_controller release]; if (_port != MACH_PORT_NULL) mach_port_deallocate (mach_task_self (), _port); @@ -144,8 +135,7 @@ message_kit_thread (SEL selector, NSObject *arg) [super dealloc]; } -- (void) orderFrontStandardAboutPanel: (id) sender -{ +- (void) orderFrontStandardAboutPanel: (id) sender { NSMutableDictionary *dict; NSDictionary *infoDict; NSString *tem; @@ -158,57 +148,45 @@ message_kit_thread (SEL selector, NSObject *arg) tem = [infoDict objectForKey:@"CFBundleShortVersionString"]; - [dict setObject:[NSString stringWithFormat:@"X11.app %@ - X.org X11R7.2 (xorg-server-1.3a1)", - tem] forKey:@"ApplicationVersion"]; + [dict setObject:[NSString stringWithFormat:@"X11.app %@ - X.org X11R7.2 (xorg-server-1.3a1)", tem] + forKey:@"ApplicationVersion"]; [self orderFrontStandardAboutPanelWithOptions: dict]; } -- (void) activateX:(BOOL)state -{ +- (void) activateX:(BOOL)state { /* Create a TSM document that supports full Unicode input, and have it activated while X is active (unless using the old keymapping files) */ static TSMDocumentID x11_document; - if (state) - { - QuartzMessageServerThread (kXDarwinActivate, 0); - - if (!_x_active) - { - if (x11_document == 0 && darwinKeymapFile == NULL) - { - OSType types[1]; - types[0] = kUnicodeDocument; - NewTSMDocument (1, types, &x11_document, 0); - } - - if (x11_document != 0) - ActivateTSMDocument (x11_document); - } - } - else - { - QuartzMessageServerThread (kXDarwinDeactivate, 0); - - if (_x_active) - { - if (x11_document != 0) - DeactivateTSMDocument (x11_document); - } - } + if (state) { + QuartzMessageServerThread (kXDarwinActivate, 0); + + if (!_x_active) { + if (x11_document == 0 && darwinKeymapFile == NULL) { + OSType types[1]; + types[0] = kUnicodeDocument; + NewTSMDocument (1, types, &x11_document, 0); + } + if (x11_document != 0) ActivateTSMDocument (x11_document); + } + } else { + QuartzMessageServerThread (kXDarwinDeactivate, 0); + + if (_x_active && x11_document != 0) + DeactivateTSMDocument (x11_document); + } + _x_active = state; } -- (void) became_key:(NSWindow *)win -{ +- (void) became_key:(NSWindow *)win { [self activateX:NO]; } -- (void) sendEvent:(NSEvent *)e -{ +- (void) sendEvent:(NSEvent *)e { NSEventType type; BOOL for_appkit, for_x; @@ -240,44 +218,44 @@ message_kit_thread (SEL selector, NSObject *arg) } } break; - - case NSKeyDown: case NSKeyUp: - if (_x_active) { - static int swallow_up; - - /* No kit window is focused, so send it to X. */ - for_appkit = NO; - if (type == NSKeyDown) { - /* Before that though, see if there are any global - shortcuts bound to it. */ - - if (X11EnableKeyEquivalents - && [[self mainMenu] performKeyEquivalent:e]) { - swallow_up = [e keyCode]; - for_x = NO; - } else if (!quartzEnableRootless - && ([e modifierFlags] & ALL_KEY_MASKS) - == (NSCommandKeyMask | NSAlternateKeyMask) - && ([e keyCode] == 0 /*a*/ - || [e keyCode] == 53 /*Esc*/)) { - swallow_up = 0; - for_x = NO; -#ifdef DARWIN_DDX_MISSING - QuartzMessageServerThread (kXDarwinToggleFullscreen, 0); -#endif - } - } else { - /* If we saw a key equivalent on the down, don't pass - the up through to X. */ - - if (swallow_up != 0 && [e keyCode] == swallow_up) { - swallow_up = 0; - for_x = NO; - } - } - } else for_x = NO; - break; + case NSKeyDown: case NSKeyUp: + if (_x_active) { + static int swallow_up; + + /* No kit window is focused, so send it to X. */ + for_appkit = NO; + if (type == NSKeyDown) { + /* Before that though, see if there are any global + shortcuts bound to it. */ + + if (X11EnableKeyEquivalents + && [[self mainMenu] performKeyEquivalent:e]) { + swallow_up = [e keyCode]; + for_x = NO; + } else if (!quartzEnableRootless + && ([e modifierFlags] & ALL_KEY_MASKS) + == (NSCommandKeyMask | NSAlternateKeyMask) + && ([e keyCode] == 0 /*a*/ + || [e keyCode] == 53 /*Esc*/)) { + swallow_up = 0; + for_x = NO; +#ifdef DARWIN_DDX_MISSING + QuartzMessageServerThread (kXDarwinToggleFullscreen, 0); +#endif + } + } else { + /* If we saw a key equivalent on the down, don't pass + the up through to X. */ + + if (swallow_up != 0 && [e keyCode] == swallow_up) { + swallow_up = 0; + for_x = NO; + } + } + } else for_x = NO; + break; + case NSFlagsChanged: /* For the l33t X users who remap modifier keys to normal keysyms. */ if (!_x_active) for_x = NO; @@ -293,16 +271,16 @@ message_kit_thread (SEL selector, NSObject *arg) /* FIXME: hack to avoid having to pass the event to appkit, which would cause it to raise one of its windows. */ _appFlags._active = YES; - + [self activateX:YES]; if ([e data2] & 0x10) X11ApplicationSetFrontProcess(); } break; - - case 18: /* ApplicationDidReactivate */ - if (quartzHasRoot) for_appkit = NO; - break; - + + case 18: /* ApplicationDidReactivate */ + if (quartzHasRoot) for_appkit = NO; + break; + case NSApplicationDeactivatedEventType: for_x = NO; [self activateX:NO]; @@ -318,42 +296,33 @@ message_kit_thread (SEL selector, NSObject *arg) if (for_x) send_nsevent (type, e); } -- (void) set_window_menu:(NSArray *)list -{ +- (void) set_window_menu:(NSArray *)list { [_controller set_window_menu:list]; } -- (void) set_window_menu_check:(NSNumber *)n -{ +- (void) set_window_menu_check:(NSNumber *)n { [_controller set_window_menu_check:n]; } -- (void) set_apps_menu:(NSArray *)list -{ +- (void) set_apps_menu:(NSArray *)list { [_controller set_apps_menu:list]; } -- (void) set_front_process:unused -{ +- (void) set_front_process:unused { QuartzMessageServerThread(kXDarwinBringAllToFront, 0); } -- (void) set_can_quit:(NSNumber *)state -{ +- (void) set_can_quit:(NSNumber *)state { [_controller set_can_quit:[state boolValue]]; } -- (void) server_ready:unused -{ +- (void) server_ready:unused { [_controller server_ready]; } -- (void) show_hide_menubar:(NSNumber *)state -{ - if ([state boolValue]) - ShowMenuBar (); - else - HideMenuBar (); +- (void) show_hide_menubar:(NSNumber *)state { + if ([state boolValue]) ShowMenuBar (); + else HideMenuBar (); } @@ -370,9 +339,7 @@ static void cfrelease (CFAllocatorRef a, const void *b) { CFRelease (b); } -static CFMutableArrayRef -nsarray_to_cfarray (NSArray *in) -{ +static CFMutableArrayRef nsarray_to_cfarray (NSArray *in) { CFMutableArrayRef out; CFArrayCallBacks cb; NSObject *ns; @@ -387,24 +354,22 @@ nsarray_to_cfarray (NSArray *in) count = [in count]; out = CFArrayCreateMutable (NULL, count, &cb); - for (i = 0; i < count; i++) - { - ns = [in objectAtIndex:i]; - - if ([ns isKindOfClass:[NSArray class]]) - cf = (CFTypeRef) nsarray_to_cfarray ((NSArray *) ns); - else - cf = CFRetain ((CFTypeRef) ns); - - CFArrayAppendValue (out, cf); - CFRelease (cf); + for (i = 0; i < count; i++) { + ns = [in objectAtIndex:i]; + + if ([ns isKindOfClass:[NSArray class]]) + cf = (CFTypeRef) nsarray_to_cfarray ((NSArray *) ns); + else + cf = CFRetain ((CFTypeRef) ns); + + CFArrayAppendValue (out, cf); + CFRelease (cf); } - + return out; } -static NSMutableArray * -cfarray_to_nsarray (CFArrayRef in) -{ + +static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) { NSMutableArray *out; const CFTypeRef *cf; NSObject *ns; @@ -413,257 +378,219 @@ cfarray_to_nsarray (CFArrayRef in) count = CFArrayGetCount (in); out = [[NSMutableArray alloc] initWithCapacity:count]; - for (i = 0; i < count; i++) - { - cf = CFArrayGetValueAtIndex (in, i); + for (i = 0; i < count; i++) { + cf = CFArrayGetValueAtIndex (in, i); - if (CFGetTypeID (cf) == CFArrayGetTypeID ()) - ns = cfarray_to_nsarray ((CFArrayRef) cf); - else - ns = [(id)cf retain]; - - [out addObject:ns]; - [ns release]; + if (CFGetTypeID (cf) == CFArrayGetTypeID ()) + ns = cfarray_to_nsarray ((CFArrayRef) cf); + else + ns = [(id)cf retain]; + + [out addObject:ns]; + [ns release]; } - + return out; } -- (CFPropertyListRef) prefs_get:(NSString *)key -{ +- (CFPropertyListRef) prefs_get:(NSString *)key { CFPropertyListRef value; value = CFPreferencesCopyAppValue ((CFStringRef) key, CFSTR (APP_PREFS)); - if (value == NULL) - { - static CFDictionaryRef defaults; - - if (defaults == NULL) - { - CFStringRef error = NULL; - CFDataRef data; - CFURLRef url; - SInt32 error_code; + if (value == NULL) { + static CFDictionaryRef defaults; + + if (defaults == NULL) { + CFStringRef error = NULL; + CFDataRef data; + CFURLRef url; + SInt32 error_code; + + url = (CFURLCreateFromFileSystemRepresentation + (NULL, (unsigned char *)DEFAULTS_FILE, strlen (DEFAULTS_FILE), false)); + if (CFURLCreateDataAndPropertiesFromResource (NULL, url, &data, + NULL, NULL, &error_code)) { + defaults = (CFPropertyListCreateFromXMLData + (NULL, data, kCFPropertyListMutableContainersAndLeaves, &error)); + if (error != NULL) CFRelease (error); + CFRelease (data); + } + CFRelease (url); - url = (CFURLCreateFromFileSystemRepresentation - (NULL, (unsigned char *)DEFAULTS_FILE, strlen (DEFAULTS_FILE), false)); - if (CFURLCreateDataAndPropertiesFromResource (NULL, url, &data, - NULL, NULL, - &error_code)) - { - defaults = (CFPropertyListCreateFromXMLData - (NULL, data, kCFPropertyListMutableContainersAndLeaves, &error)); - if (error != NULL) - CFRelease (error); - CFRelease (data); - } - CFRelease (url); - - if (defaults != NULL) - { - NSMutableArray *apps, *elt; - int count, i; - NSString *name, *nname; - - /* Localize the names in the default apps menu. */ - - apps = [(NSDictionary *)defaults objectForKey:@PREFS_APPSMENU]; - if (apps != nil) - { - count = [apps count]; - for (i = 0; i < count; i++) - { - elt = [apps objectAtIndex:i]; - if (elt != nil && [elt isKindOfClass:[NSArray class]]) - { - name = [elt objectAtIndex:0]; - if (name != nil) - { - nname = NSLocalizedString (name, nil); - if (nname != nil && nname != name) - [elt replaceObjectAtIndex:0 withObject:nname]; - } - } - } - } - } + if (defaults != NULL) { + NSMutableArray *apps, *elt; + int count, i; + NSString *name, *nname; + + /* Localize the names in the default apps menu. */ + + apps = [(NSDictionary *)defaults objectForKey:@PREFS_APPSMENU]; + if (apps != nil) { + count = [apps count]; + for (i = 0; i < count; i++) { + elt = [apps objectAtIndex:i]; + if (elt != nil && [elt isKindOfClass:[NSArray class]]) { + name = [elt objectAtIndex:0]; + if (name != nil) { + nname = NSLocalizedString (name, nil); + if (nname != nil && nname != name) + [elt replaceObjectAtIndex:0 withObject:nname]; } + } + } + } + } + } - if (defaults != NULL) - value = CFDictionaryGetValue (defaults, key); - - if (value != NULL) - CFRetain (value); + if (defaults != NULL) value = CFDictionaryGetValue (defaults, key); + if (value != NULL) CFRetain (value); } return value; } -- (int) prefs_get_integer:(NSString *)key default:(int)def -{ - CFPropertyListRef value; - int ret; - - value = [self prefs_get:key]; - - if (value != NULL && CFGetTypeID (value) == CFNumberGetTypeID ()) - CFNumberGetValue (value, kCFNumberIntType, &ret); - else if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) - ret = CFStringGetIntValue (value); - else - ret = def; - - if (value != NULL) - CFRelease (value); - - return ret; +- (int) prefs_get_integer:(NSString *)key default:(int)def { + CFPropertyListRef value; + int ret; + + value = [self prefs_get:key]; + + if (value != NULL && CFGetTypeID (value) == CFNumberGetTypeID ()) + CFNumberGetValue (value, kCFNumberIntType, &ret); + else if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) + ret = CFStringGetIntValue (value); + else + ret = def; + + if (value != NULL) CFRelease (value); + + return ret; } -- (const char *) prefs_get_string:(NSString *)key default:(const char *)def -{ - CFPropertyListRef value; - const char *ret = NULL; - - value = [self prefs_get:key]; - - if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) - { - NSString *s = (NSString *) value; - - ret = [s UTF8String]; - } - - if (value != NULL) - CFRelease (value); - - return ret != NULL ? ret : def; +- (const char *) prefs_get_string:(NSString *)key default:(const char *)def { + CFPropertyListRef value; + const char *ret = NULL; + + value = [self prefs_get:key]; + + if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) { + NSString *s = (NSString *) value; + + ret = [s UTF8String]; + } + + if (value != NULL) CFRelease (value); + + return ret != NULL ? ret : def; } -- (float) prefs_get_float:(NSString *)key default:(float)def -{ - CFPropertyListRef value; - float ret = def; +- (float) prefs_get_float:(NSString *)key default:(float)def { + CFPropertyListRef value; + float ret = def; + + value = [self prefs_get:key]; + + if (value != NULL + && CFGetTypeID (value) == CFNumberGetTypeID () + && CFNumberIsFloatType (value)) + CFNumberGetValue (value, kCFNumberFloatType, &ret); + else if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) + ret = CFStringGetDoubleValue (value); - value = [self prefs_get:key]; - - if (value != NULL - && CFGetTypeID (value) == CFNumberGetTypeID () - && CFNumberIsFloatType (value)) - { - CFNumberGetValue (value, kCFNumberFloatType, &ret); - } - else if (value != NULL && CFGetTypeID (value) == CFStringGetTypeID ()) - { - ret = CFStringGetDoubleValue (value); - } - - if (value != NULL) - CFRelease (value); - - return ret; + if (value != NULL) CFRelease (value); + + return ret; } -- (int) prefs_get_boolean:(NSString *)key default:(int)def -{ - CFPropertyListRef value; - int ret = def; - - value = [self prefs_get:key]; - - if (value != NULL) - { - if (CFGetTypeID (value) == CFNumberGetTypeID ()) - CFNumberGetValue (value, kCFNumberIntType, &ret); - else if (CFGetTypeID (value) == CFBooleanGetTypeID ()) - ret = CFBooleanGetValue (value); - else if (CFGetTypeID (value) == CFStringGetTypeID ()) - { - const char *tem = [(NSString *) value UTF8String]; - if (strcasecmp (tem, "true") == 0 || strcasecmp (tem, "yes") == 0) - ret = YES; - else - ret = NO; - } - - CFRelease (value); +- (int) prefs_get_boolean:(NSString *)key default:(int)def { + CFPropertyListRef value; + int ret = def; + + value = [self prefs_get:key]; + + if (value != NULL) { + if (CFGetTypeID (value) == CFNumberGetTypeID ()) + CFNumberGetValue (value, kCFNumberIntType, &ret); + else if (CFGetTypeID (value) == CFBooleanGetTypeID ()) + ret = CFBooleanGetValue (value); + else if (CFGetTypeID (value) == CFStringGetTypeID ()) { + const char *tem = [(NSString *) value UTF8String]; + if (strcasecmp (tem, "true") == 0 || strcasecmp (tem, "yes") == 0) + ret = YES; + else + ret = NO; } - - return ret; + + CFRelease (value); + } + return ret; } -- (NSArray *) prefs_get_array:(NSString *)key -{ - NSArray *ret = nil; - CFPropertyListRef value; - - value = [self prefs_get:key]; - - if (value != NULL) - { - if (CFGetTypeID (value) == CFArrayGetTypeID ()) - ret = [cfarray_to_nsarray (value) autorelease]; - - CFRelease (value); - } - - return ret; +- (NSArray *) prefs_get_array:(NSString *)key { + NSArray *ret = nil; + CFPropertyListRef value; + + value = [self prefs_get:key]; + + if (value != NULL) { + if (CFGetTypeID (value) == CFArrayGetTypeID ()) + ret = [cfarray_to_nsarray (value) autorelease]; + + CFRelease (value); + } + + return ret; } -- (void) prefs_set_integer:(NSString *)key value:(int)value -{ +- (void) prefs_set_integer:(NSString *)key value:(int)value { CFNumberRef x; x = CFNumberCreate (NULL, kCFNumberIntType, &value); CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) x, CFSTR (APP_PREFS), - kCFPreferencesCurrentUser, kCFPreferencesAnyHost); + kCFPreferencesCurrentUser, kCFPreferencesAnyHost); CFRelease (x); } -- (void) prefs_set_float:(NSString *)key value:(float)value -{ +- (void) prefs_set_float:(NSString *)key value:(float)value { CFNumberRef x; x = CFNumberCreate (NULL, kCFNumberFloatType, &value); CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) x, CFSTR (APP_PREFS), - kCFPreferencesCurrentUser, kCFPreferencesAnyHost); + kCFPreferencesCurrentUser, kCFPreferencesAnyHost); CFRelease (x); } -- (void) prefs_set_boolean:(NSString *)key value:(int)value -{ - CFPreferencesSetValue ((CFStringRef) key, - (CFTypeRef) value ? kCFBooleanTrue - : kCFBooleanFalse, CFSTR (APP_PREFS), - kCFPreferencesCurrentUser, kCFPreferencesAnyHost); - +- (void) prefs_set_boolean:(NSString *)key value:(int)value { + CFPreferencesSetValue ((CFStringRef) key, + (CFTypeRef) value ? kCFBooleanTrue + : kCFBooleanFalse, CFSTR (APP_PREFS), + kCFPreferencesCurrentUser, kCFPreferencesAnyHost); + } -- (void) prefs_set_array:(NSString *)key value:(NSArray *)value -{ - CFArrayRef cfarray; - - cfarray = nsarray_to_cfarray (value); - CFPreferencesSetValue ((CFStringRef) key, - (CFTypeRef) cfarray, - CFSTR (APP_PREFS), - kCFPreferencesCurrentUser, kCFPreferencesAnyHost); - CFRelease (cfarray); +- (void) prefs_set_array:(NSString *)key value:(NSArray *)value { + CFArrayRef cfarray; + + cfarray = nsarray_to_cfarray (value); + CFPreferencesSetValue ((CFStringRef) key, + (CFTypeRef) cfarray, + CFSTR (APP_PREFS), + kCFPreferencesCurrentUser, kCFPreferencesAnyHost); + CFRelease (cfarray); } -- (void) prefs_set_string:(NSString *)key value:(NSString *)value -{ - CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) value, - CFSTR (APP_PREFS), kCFPreferencesCurrentUser, - kCFPreferencesAnyHost); +- (void) prefs_set_string:(NSString *)key value:(NSString *)value { + CFPreferencesSetValue ((CFStringRef) key, (CFTypeRef) value, + CFSTR (APP_PREFS), kCFPreferencesCurrentUser, + kCFPreferencesAnyHost); } -- (void) prefs_synchronize -{ +- (void) prefs_synchronize { CFPreferencesAppSynchronize (kCFPreferencesCurrentApplication); } @@ -712,14 +639,12 @@ cfarray_to_nsarray (CFArrayRef in) } /* This will end up at the end of the responder chain. */ -- (void) copy:sender -{ - QuartzMessageServerThread (kXDarwinPasteboardNotify, 1, - AppleWMCopyToPasteboard); +- (void) copy:sender { + QuartzMessageServerThread (kXDarwinPasteboardNotify, 1, + AppleWMCopyToPasteboard); } -- (BOOL) x_active -{ +- (BOOL) x_active { return _x_active; } @@ -727,75 +652,62 @@ cfarray_to_nsarray (CFArrayRef in) static NSArray * array_with_strings_and_numbers (int nitems, const char **items, - const char *numbers) -{ - NSMutableArray *array, *subarray; - NSString *string; - NSString *number; - int i; + const char *numbers) { + NSMutableArray *array, *subarray; + NSString *string, *number; + int i; - /* (Can't autorelease on the X server thread) */ - - array = [[NSMutableArray alloc] initWithCapacity:nitems]; - - for (i = 0; i < nitems; i++) - { - subarray = [[NSMutableArray alloc] initWithCapacity:2]; - - string = [[NSString alloc] initWithUTF8String:items[i]]; - [subarray addObject:string]; - [string release]; - - if (numbers[i] != 0) - { - number = [[NSString alloc] initWithFormat:@"%d", numbers[i]]; - [subarray addObject:number]; - [number release]; - } - else - [subarray addObject:@""]; - - [array addObject:subarray]; - [subarray release]; - } - - return array; + /* (Can't autorelease on the X server thread) */ + + array = [[NSMutableArray alloc] initWithCapacity:nitems]; + + for (i = 0; i < nitems; i++) { + subarray = [[NSMutableArray alloc] initWithCapacity:2]; + + string = [[NSString alloc] initWithUTF8String:items[i]]; + [subarray addObject:string]; + [string release]; + + if (numbers[i] != 0) { + number = [[NSString alloc] initWithFormat:@"%d", numbers[i]]; + [subarray addObject:number]; + [number release]; + } else + [subarray addObject:@""]; + + [array addObject:subarray]; + [subarray release]; + } + + return array; } -void -X11ApplicationSetWindowMenu (int nitems, const char **items, - const char *shortcuts) -{ - NSArray *array; - array = array_with_strings_and_numbers (nitems, items, shortcuts); - - /* Send the array of strings over to the appkit thread */ - - message_kit_thread (@selector (set_window_menu:), array); - [array release]; +void X11ApplicationSetWindowMenu (int nitems, const char **items, + const char *shortcuts) { + NSArray *array; + array = array_with_strings_and_numbers (nitems, items, shortcuts); + + /* Send the array of strings over to the appkit thread */ + + message_kit_thread (@selector (set_window_menu:), array); + [array release]; } -void -X11ApplicationSetWindowMenuCheck (int idx) -{ - NSNumber *n; - - n = [[NSNumber alloc] initWithInt:idx]; - - message_kit_thread (@selector (set_window_menu_check:), n); - - [n release]; +void X11ApplicationSetWindowMenuCheck (int idx) { + NSNumber *n; + + n = [[NSNumber alloc] initWithInt:idx]; + + message_kit_thread (@selector (set_window_menu_check:), n); + + [n release]; } -void -X11ApplicationSetFrontProcess (void) -{ +void X11ApplicationSetFrontProcess (void) { message_kit_thread (@selector (set_front_process:), nil); } -void -X11ApplicationSetCanQuit (int state) -{ +void X11ApplicationSetCanQuit (int state) { NSNumber *n; n = [[NSNumber alloc] initWithBool:state]; @@ -805,15 +717,11 @@ X11ApplicationSetCanQuit (int state) [n release]; } -void -X11ApplicationServerReady (void) -{ +void X11ApplicationServerReady (void) { message_kit_thread (@selector (server_ready:), nil); } -void -X11ApplicationShowHideMenubar (int state) -{ +void X11ApplicationShowHideMenubar (int state) { NSNumber *n; n = [[NSNumber alloc] initWithBool:state]; @@ -823,27 +731,20 @@ X11ApplicationShowHideMenubar (int state) [n release]; } -static void * -create_thread (void *func, void *arg) -{ +static void * create_thread (void *func, void *arg) { pthread_attr_t attr; pthread_t tid; pthread_attr_init (&attr); - pthread_attr_setscope (&attr, PTHREAD_SCOPE_SYSTEM); pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED); - pthread_create (&tid, &attr, func, arg); - pthread_attr_destroy (&attr); return (void *) tid; } -static void -check_xinitrc (void) -{ +static void check_xinitrc (void) { char *tem, buf[1024]; NSString *msg; @@ -851,8 +752,7 @@ check_xinitrc (void) return; tem = getenv ("HOME"); - if (tem == NULL) - goto done; + if (tem == NULL) goto done; snprintf (buf, sizeof (buf), "%s/.xinitrc", tem); if (access (buf, F_OK) != 0) @@ -867,29 +767,26 @@ Would you like to move aside the existing file and use the standard X11 \ environment?", @"Startup xinitrc dialog"); if (NSRunAlertPanel (nil, msg, NSLocalizedString (@"Yes", @""), - NSLocalizedString (@"No", @""), nil) - == NSAlertDefaultReturn) - { - char buf2[1024]; - int i = -1; - - snprintf (buf2, sizeof (buf2), "%s.old", buf); - - for (i = 1; access (buf2, F_OK) == 0; i++) - snprintf (buf2, sizeof (buf2), "%s.old.%d", buf, i); - - rename (buf, buf2); + NSLocalizedString (@"No", @""), nil) + == NSAlertDefaultReturn) { + char buf2[1024]; + int i = -1; + + snprintf (buf2, sizeof (buf2), "%s.old", buf); + + for (i = 1; access (buf2, F_OK) == 0; i++) + snprintf (buf2, sizeof (buf2), "%s.old.%d", buf, i); + + rename (buf, buf2); } - done: + done: [X11App prefs_set_boolean:@PREFS_DONE_XINIT_CHECK value:YES]; [X11App prefs_synchronize]; } -void -X11ApplicationMain (int argc, const char *argv[], - void (*server_thread) (void *), void *server_arg) -{ +void X11ApplicationMain (int argc, const char *argv[], + void (*server_thread) (void *), void *server_arg) { NSAutoreleasePool *pool; #ifdef DEBUG @@ -930,154 +827,149 @@ X11ApplicationMain (int argc, const char *argv[], /* event conversion */ static inline unsigned short -convert_flags (unsigned int nsflags) -{ - unsigned int xflags; +convert_flags (unsigned int nsflags) { + unsigned int xflags = 0; if (nsflags == ~0) return 0xffff; - xflags = 0; - if (nsflags & NSAlphaShiftKeyMask) xflags |= LockMask; - if (nsflags & NSShiftKeyMask) xflags |= ShiftMask; - if (nsflags & NSControlKeyMask) xflags |= ControlMask; + if (nsflags & NSShiftKeyMask) xflags |= ShiftMask; + if (nsflags & NSControlKeyMask) xflags |= ControlMask; if (nsflags & NSAlternateKeyMask) xflags |= Mod1Mask; - if (nsflags & NSCommandKeyMask) xflags |= Mod2Mask; + if (nsflags & NSCommandKeyMask) xflags |= Mod2Mask; /* FIXME: secondaryfn? */ return xflags; } -static void -send_nsevent (NSEventType type, NSEvent *e) -{ - static unsigned int button_state = 0; - NSRect screen; - NSPoint location; - NSWindow *window; - int pointer_x, pointer_y; - xEvent xe; - - memset (&xe, 0, sizeof (xe)); - - /* This field should be filled in for every event */ - xe.u.keyButtonPointer.time = GetTimeInMillis(); - - /* convert location to global top-left coordinates */ - location = [e locationInWindow]; - window = [e window]; - screen = [[[NSScreen screens] objectAtIndex:0] frame]; - - if (window != nil) { - NSRect frame = [window frame]; - pointer_x = location.x + frame.origin.x; - pointer_y = (((screen.origin.y + screen.size.height) - - location.y) - frame.origin.y); - } else { - pointer_x = location.x; - pointer_y = (screen.origin.y + screen.size.height) - location.y; - } - - xe.u.keyButtonPointer.rootX = pointer_x; - xe.u.keyButtonPointer.rootY = pointer_y; - - switch (type) { - float count; +static void send_nsevent (NSEventType type, NSEvent *e) { + static unsigned int button_state = 0; + NSRect screen; + NSPoint location; + NSWindow *window; + int pointer_x, pointer_y; + xEvent xe; - case NSLeftMouseDown: - xe.u.u.type = ButtonPress; - xe.u.u.detail = 1; - goto do_press_event; + memset (&xe, 0, sizeof (xe)); - case NSRightMouseDown: - xe.u.u.type = ButtonPress; - xe.u.u.detail = 3; - goto do_press_event; + /* This field should be filled in for every event */ + xe.u.keyButtonPointer.time = GetTimeInMillis(); - case NSOtherMouseDown: - xe.u.u.type = ButtonPress; - xe.u.u.detail = 2; /* FIXME? */ - goto do_press_event; + /* convert location to global top-left coordinates */ + location = [e locationInWindow]; + window = [e window]; + screen = [[[NSScreen screens] objectAtIndex:0] frame]; - do_press_event: - if (!quartzProcs->IsX11Window([e window], [e windowNumber])) { - /* X server doesn't grok this window, drop the event. - - Note: theoretically this isn't necessary, but if I click - on the menubar, we get sent a LeftMouseDown when the - release happens, but no LeftMouseUp is ever seen! */ - - break; + if (window != nil) { + NSRect frame = [window frame]; + pointer_x = location.x + frame.origin.x; + pointer_y = (((screen.origin.y + screen.size.height) + - location.y) - frame.origin.y); + } else { + pointer_x = location.x; + pointer_y = (screen.origin.y + screen.size.height) - location.y; } - goto do_event; - case NSLeftMouseUp: - xe.u.u.type = ButtonRelease; - xe.u.u.detail = 1; - goto do_release_event; + xe.u.keyButtonPointer.rootX = pointer_x; + xe.u.keyButtonPointer.rootY = pointer_y; - case NSRightMouseUp: - xe.u.u.type = ButtonRelease; - xe.u.u.detail = 3; - goto do_release_event; - - case NSOtherMouseUp: - xe.u.u.type = ButtonRelease; - xe.u.u.detail = 2; /* FIXME? */ - goto do_release_event; - - do_release_event: - if ((button_state & (1 << xe.u.u.detail)) == 0) - { - /* X didn't see the button press for this release, so skip it */ - break; - } - goto do_event; - - case NSMouseMoved: - case NSLeftMouseDragged: - case NSRightMouseDragged: - case NSOtherMouseDragged: - xe.u.u.type = MotionNotify; - goto do_event; - - case NSKeyDown: - xe.u.u.type = KeyPress; - xe.u.u.detail = [e keyCode]; - goto do_event; - - case NSKeyUp: - xe.u.u.type = KeyRelease; - xe.u.u.detail = [e keyCode]; - goto do_event; - - case NSScrollWheel: - xe.u.keyButtonPointer.state = convert_flags ([e modifierFlags]); - count = [e deltaY]; - xe.u.u.detail = count > 0.0f ? 4 : 5; - for (count = fabs(count); count > 0.0; count = count - 1.0f) { - xe.u.u.type = ButtonPress; - DarwinEQEnqueue(&xe); - xe.u.u.type = ButtonRelease; - DarwinEQEnqueue(&xe); + switch (type) { + float count; + + case NSLeftMouseDown: + xe.u.u.type = ButtonPress; + xe.u.u.detail = 1; + goto do_press_event; + + case NSRightMouseDown: + xe.u.u.type = ButtonPress; + xe.u.u.detail = 3; + goto do_press_event; + + case NSOtherMouseDown: + xe.u.u.type = ButtonPress; + xe.u.u.detail = 2; /* FIXME? */ + goto do_press_event; + + do_press_event: + if (!quartzProcs->IsX11Window([e window], [e windowNumber])) { + /* X server doesn't grok this window, drop the event. + + Note: theoretically this isn't necessary, but if I click + on the menubar, we get sent a LeftMouseDown when the + release happens, but no LeftMouseUp is ever seen! */ + + break; + } + goto do_event; + + case NSLeftMouseUp: + xe.u.u.type = ButtonRelease; + xe.u.u.detail = 1; + goto do_release_event; + + case NSRightMouseUp: + xe.u.u.type = ButtonRelease; + xe.u.u.detail = 3; + goto do_release_event; + + case NSOtherMouseUp: + xe.u.u.type = ButtonRelease; + xe.u.u.detail = 2; /* FIXME? */ + goto do_release_event; + + do_release_event: + if ((button_state & (1 << xe.u.u.detail)) == 0) + { + /* X didn't see the button press for this release, so skip it */ + break; + } + goto do_event; + + case NSMouseMoved: + case NSLeftMouseDragged: + case NSRightMouseDragged: + case NSOtherMouseDragged: + xe.u.u.type = MotionNotify; + goto do_event; + + case NSKeyDown: + xe.u.u.type = KeyPress; + xe.u.u.detail = [e keyCode]; + goto do_event; + + case NSKeyUp: + xe.u.u.type = KeyRelease; + xe.u.u.detail = [e keyCode]; + goto do_event; + + case NSScrollWheel: + xe.u.keyButtonPointer.state = convert_flags ([e modifierFlags]); + count = [e deltaY]; + xe.u.u.detail = count > 0.0f ? 4 : 5; + for (count = fabs(count); count > 0.0; count = count - 1.0f) { + xe.u.u.type = ButtonPress; + DarwinEQEnqueue(&xe); + xe.u.u.type = ButtonRelease; + DarwinEQEnqueue(&xe); + } + xe.u.u.type = 0; + break; + + case NSFlagsChanged: + xe.u.u.type = kXDarwinUpdateModifiers; + xe.u.clientMessage.u.l.longs0 = [e modifierFlags]; + DarwinEQEnqueue (&xe); + break; + + do_event: + // xe.u.keyButtonPointer.state = convert_flags ([e modifierFlags]); + DarwinEQEnqueue (&xe); + break; + + default: break; /* for gcc */ } - xe.u.u.type = 0; - break; - case NSFlagsChanged: - xe.u.u.type = kXDarwinUpdateModifiers; - xe.u.clientMessage.u.l.longs0 = [e modifierFlags]; - DarwinEQEnqueue (&xe); - break; - - do_event: - // xe.u.keyButtonPointer.state = convert_flags ([e modifierFlags]); - DarwinEQEnqueue (&xe); - break; - - default: break; /* for gcc */ - } - - if (xe.u.u.type == ButtonPress) button_state |= (1 << xe.u.u.detail); - else if (xe.u.u.type == ButtonRelease) button_state &= ~(1 << xe.u.u.detail); + if (xe.u.u.type == ButtonPress) button_state |= (1 << xe.u.u.detail); + else if (xe.u.u.type == ButtonRelease) button_state &= ~(1 << xe.u.u.detail); }