formatting changes.
This commit is contained in:
parent
50dac9b2cb
commit
b34d2ffc38
|
@ -183,116 +183,111 @@ static void message_kit_thread (SEL selector, NSObject *arg) {
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) sendEvent:(NSEvent *)e {
|
- (void) sendEvent:(NSEvent *)e {
|
||||||
NSEventType type;
|
NSEventType type;
|
||||||
BOOL for_appkit, for_x;
|
BOOL for_appkit, for_x;
|
||||||
|
|
||||||
type = [e type];
|
type = [e type];
|
||||||
|
|
||||||
/* By default pass down the responder chain and to X. */
|
/* By default pass down the responder chain and to X. */
|
||||||
for_appkit = YES;
|
for_appkit = YES;
|
||||||
for_x = YES;
|
for_x = YES;
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case NSLeftMouseDown: case NSRightMouseDown: case NSOtherMouseDown:
|
case NSLeftMouseDown: case NSRightMouseDown: case NSOtherMouseDown:
|
||||||
case NSLeftMouseUp: case NSRightMouseUp: case NSOtherMouseUp:
|
case NSLeftMouseUp: case NSRightMouseUp: case NSOtherMouseUp:
|
||||||
if ([e window] != nil) {
|
if ([e window] != nil) {
|
||||||
/* Pointer event has a window. Probably something for the kit. */
|
/* Pointer event has an (AppKit) window. Probably something for the kit. */
|
||||||
|
for_x = NO;
|
||||||
for_x = NO;
|
if (_x_active) [self activateX:NO];
|
||||||
|
} else if ([self modalWindow] == nil) {
|
||||||
if (_x_active) [self activateX:NO];
|
/* Must be an X window. Tell appkit it doesn't have focus. */
|
||||||
} else if ([self modalWindow] == nil) {
|
for_appkit = NO;
|
||||||
/* Must be an X window. Tell appkit it doesn't have focus. */
|
|
||||||
|
|
||||||
for_appkit = NO;
|
|
||||||
|
|
||||||
if ([self isActive]) {
|
|
||||||
[self deactivate];
|
|
||||||
|
|
||||||
if (!_x_active && quartzProcs->IsX11Window([e window], [e windowNumber]))
|
|
||||||
[self activateX:YES];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NSKeyDown: case NSKeyUp:
|
if ([self isActive]) {
|
||||||
if (_x_active) {
|
[self deactivate];
|
||||||
static int swallow_up;
|
|
||||||
|
|
||||||
/* No kit window is focused, so send it to X. */
|
if (!_x_active && quartzProcs->IsX11Window([e window],
|
||||||
|
[e windowNumber]))
|
||||||
|
[self activateX:YES];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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. */
|
||||||
|
|
||||||
for_appkit = NO;
|
if (X11EnableKeyEquivalents
|
||||||
|
&& [[self mainMenu] performKeyEquivalent:e]) {
|
||||||
if (type == NSKeyDown) {
|
swallow_up = [e keyCode];
|
||||||
/* Before that though, see if there are any global
|
for_x = NO;
|
||||||
shortcuts bound to it. */
|
} else if (!quartzEnableRootless
|
||||||
|
|
||||||
if (X11EnableKeyEquivalents
|
|
||||||
&& [[self mainMenu] performKeyEquivalent:e]) {
|
|
||||||
swallow_up = [e keyCode];
|
|
||||||
for_x = NO;
|
|
||||||
} else if (!quartzEnableRootless
|
|
||||||
&& ([e modifierFlags] & ALL_KEY_MASKS)
|
&& ([e modifierFlags] & ALL_KEY_MASKS)
|
||||||
== (NSCommandKeyMask | NSAlternateKeyMask)
|
== (NSCommandKeyMask | NSAlternateKeyMask)
|
||||||
&& ([e keyCode] == 0 /*a*/
|
&& ([e keyCode] == 0 /*a*/
|
||||||
|| [e keyCode] == 53 /*Esc*/)) {
|
|| [e keyCode] == 53 /*Esc*/)) {
|
||||||
swallow_up = 0;
|
swallow_up = 0;
|
||||||
for_x = NO;
|
for_x = NO;
|
||||||
#ifdef DARWIN_DDX_MISSING
|
#ifdef DARWIN_DDX_MISSING
|
||||||
QuartzMessageServerThread (kXDarwinToggleFullscreen, 0);
|
QuartzMessageServerThread (kXDarwinToggleFullscreen, 0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* If we saw a key equivalent on the down, don't pass
|
/* If we saw a key equivalent on the down, don't pass
|
||||||
the up through to X. */
|
the up through to X. */
|
||||||
|
|
||||||
if (swallow_up != 0 && [e keyCode] == swallow_up) {
|
if (swallow_up != 0 && [e keyCode] == swallow_up) {
|
||||||
swallow_up = 0;
|
swallow_up = 0;
|
||||||
for_x = NO;
|
for_x = NO;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else for_x = NO;
|
} else for_x = NO;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NSFlagsChanged:
|
case NSFlagsChanged:
|
||||||
/* For the l33t X users who remap modifier keys to normal keysyms. */
|
/* For the l33t X users who remap modifier keys to normal keysyms. */
|
||||||
if (!_x_active)
|
if (!_x_active) for_x = NO;
|
||||||
for_x = NO;
|
break;
|
||||||
break;
|
|
||||||
|
case NSAppKitDefined:
|
||||||
case NSAppKitDefined:
|
switch ([e subtype]) {
|
||||||
switch ([e subtype]) {
|
case NSApplicationActivatedEventType:
|
||||||
case NSApplicationActivatedEventType:
|
for_x = NO;
|
||||||
for_x = NO;
|
if ([self modalWindow] == nil) {
|
||||||
if ([self modalWindow] == nil) {
|
for_appkit = NO;
|
||||||
for_appkit = NO;
|
|
||||||
|
/* FIXME: hack to avoid having to pass the event to appkit,
|
||||||
/* FIXME: hack to avoid having to pass the event to appkit,
|
which would cause it to raise one of its windows. */
|
||||||
which would cause it to raise one of its windows. */
|
_appFlags._active = YES;
|
||||||
_appFlags._active = YES;
|
|
||||||
|
[self activateX:YES];
|
||||||
[self activateX:YES];
|
if ([e data2] & 0x10) X11ApplicationSetFrontProcess();
|
||||||
if ([e data2] & 0x10) X11ApplicationSetFrontProcess();
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 18: /* ApplicationDidReactivate */
|
|
||||||
if (quartzHasRoot) for_appkit = NO;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NSApplicationDeactivatedEventType:
|
|
||||||
for_x = NO;
|
|
||||||
[self activateX:NO];
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: break; /* for gcc */
|
case 18: /* ApplicationDidReactivate */
|
||||||
|
if (quartzHasRoot) for_appkit = NO;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NSApplicationDeactivatedEventType:
|
||||||
|
for_x = NO;
|
||||||
|
[self activateX:NO];
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
if (for_appkit) [super sendEvent:e];
|
|
||||||
if (for_x) send_nsevent (type, e);
|
default: break; /* for gcc */
|
||||||
|
}
|
||||||
|
|
||||||
|
if (for_appkit) [super sendEvent:e];
|
||||||
|
|
||||||
|
if (for_x) send_nsevent (type, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) set_window_menu:(NSArray *)list {
|
- (void) set_window_menu:(NSArray *)list {
|
||||||
|
@ -596,52 +591,51 @@ static NSMutableArray * cfarray_to_nsarray (CFArrayRef in) {
|
||||||
CFPreferencesAppSynchronize (kCFPreferencesCurrentApplication);
|
CFPreferencesAppSynchronize (kCFPreferencesCurrentApplication);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) read_defaults {
|
- (void) read_defaults
|
||||||
const char *tem;
|
{
|
||||||
|
const char *tem;
|
||||||
quartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP
|
|
||||||
default:quartzUseSysBeep];
|
quartzUseSysBeep = [self prefs_get_boolean:@PREFS_SYSBEEP
|
||||||
quartzEnableRootless = [self prefs_get_boolean:@PREFS_ROOTLESS
|
default:quartzUseSysBeep];
|
||||||
default:quartzEnableRootless];
|
quartzEnableRootless = [self prefs_get_boolean:@PREFS_ROOTLESS
|
||||||
|
default:quartzEnableRootless];
|
||||||
#ifdef DARWIN_DDX_MISSING
|
#ifdef DARWIN_DDX_MISSING
|
||||||
quartzFullscreenDisableHotkeys = ![self prefs_get_boolean:
|
quartzFullscreenDisableHotkeys = ![self prefs_get_boolean:
|
||||||
@PREFS_FULLSCREEN_HOTKEYS default:
|
@PREFS_FULLSCREEN_HOTKEYS default:
|
||||||
!quartzFullscreenDisableHotkeys];
|
!quartzFullscreenDisableHotkeys];
|
||||||
quartzXpluginOptions = [self prefs_get_integer:@PREFS_XP_OPTIONS
|
quartzXpluginOptions = [self prefs_get_integer:@PREFS_XP_OPTIONS
|
||||||
default:quartzXpluginOptions];
|
default:quartzXpluginOptions];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
darwinSwapAltMeta = [self prefs_get_boolean:@PREFS_SWAP_ALT_META
|
|
||||||
default:darwinSwapAltMeta];
|
|
||||||
darwinFakeButtons = [self prefs_get_boolean:@PREFS_FAKEBUTTONS
|
|
||||||
default:darwinFakeButtons];
|
|
||||||
if (darwinFakeButtons) {
|
|
||||||
const char *fake2, *fake3;
|
|
||||||
|
|
||||||
fake2 = [self prefs_get_string:@PREFS_FAKE_BUTTON2 default:NULL];
|
|
||||||
fake3 = [self prefs_get_string:@PREFS_FAKE_BUTTON3 default:NULL];
|
|
||||||
|
|
||||||
if (fake2 != NULL) darwinFakeMouse2Mask = DarwinParseModifierList(fake2);
|
|
||||||
if (fake3 != NULL) darwinFakeMouse3Mask = DarwinParseModifierList(fake3);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
X11EnableKeyEquivalents = [self prefs_get_boolean:@PREFS_KEYEQUIVS
|
darwinSwapAltMeta = [self prefs_get_boolean:@PREFS_SWAP_ALT_META
|
||||||
default:X11EnableKeyEquivalents];
|
default:darwinSwapAltMeta];
|
||||||
|
darwinFakeButtons = [self prefs_get_boolean:@PREFS_FAKEBUTTONS
|
||||||
|
default:darwinFakeButtons];
|
||||||
|
if (darwinFakeButtons) {
|
||||||
|
const char *fake2, *fake3;
|
||||||
|
|
||||||
|
fake2 = [self prefs_get_string:@PREFS_FAKE_BUTTON2 default:NULL];
|
||||||
|
fake3 = [self prefs_get_string:@PREFS_FAKE_BUTTON3 default:NULL];
|
||||||
|
|
||||||
|
if (fake2 != NULL) darwinFakeMouse2Mask = DarwinParseModifierList(fake2);
|
||||||
|
if (fake3 != NULL) darwinFakeMouse3Mask = DarwinParseModifierList(fake3);
|
||||||
|
}
|
||||||
|
|
||||||
darwinSyncKeymap = [self prefs_get_boolean:@PREFS_SYNC_KEYMAP
|
X11EnableKeyEquivalents = [self prefs_get_boolean:@PREFS_KEYEQUIVS
|
||||||
default:darwinSyncKeymap];
|
default:X11EnableKeyEquivalents];
|
||||||
|
|
||||||
tem = [self prefs_get_string:@PREFS_KEYMAP_FILE default:NULL];
|
darwinSyncKeymap = [self prefs_get_boolean:@PREFS_SYNC_KEYMAP
|
||||||
|
default:darwinSyncKeymap];
|
||||||
if (tem != NULL) darwinKeymapFile = strdup (tem);
|
|
||||||
else darwinKeymapFile = NULL;
|
|
||||||
|
|
||||||
darwinDesiredDepth = [self prefs_get_integer:@PREFS_DEPTH
|
tem = [self prefs_get_string:@PREFS_KEYMAP_FILE default:NULL];
|
||||||
default:darwinDesiredDepth];
|
if (tem != NULL) darwinKeymapFile = strdup (tem);
|
||||||
|
else darwinKeymapFile = NULL;
|
||||||
|
|
||||||
enable_stereo = [self prefs_get_boolean:@PREFS_ENABLE_STEREO
|
darwinDesiredDepth = [self prefs_get_integer:@PREFS_DEPTH
|
||||||
default:false];
|
default:darwinDesiredDepth];
|
||||||
|
|
||||||
|
enable_stereo = [self prefs_get_boolean:@PREFS_ENABLE_STEREO
|
||||||
|
default:false];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This will end up at the end of the responder chain. */
|
/* This will end up at the end of the responder chain. */
|
||||||
|
|
Loading…
Reference in New Issue