25 TkMenuInit(); 26 NSString *applicationName = [[NSBundle mainBundle] 27 objectForInfoDictionaryKey:@"CFBundleName"]; 28 if (!applicationName) { 29 applicationName = [[NSProcessInfo processInfo] processName]; 30 } 31 NSString *aboutName = (applicationName && 32 ![applicationName isEqualToString:@"Wish"] && 33 ![applicationName hasPrefix:@"tclsh"]) ? 34 applicationName : @"Tcl & Tk"; 35 _servicesMenu = [NSMenu menuWithTitle:NSLocalizedString(@"Services", nil)]; 36 _defaultApplicationMenuItems = [[NSArray arrayWithObjects: 37 [NSMenuItem separatorItem], 38 [NSMenuItem itemWithTitle: 39 [NSString stringWithFormat:NSLocalizedString(@"Preferences%C", nil), 0x2026] 40 action:@selector(preferences:) keyEquivalent:@","], 41 [NSMenuItem separatorItem], 42 [NSMenuItem itemWithTitle:NSLocalizedString(@"Services", nil) submenu:_servicesMenu], 43 [NSMenuItem separatorItem], 44 [NSMenuItem itemWithTitle: 45 [NSString stringWithFormat:NSLocalizedString(@"Hide %@", nil), applicationName] 46 action:@selector(hide:) keyEquivalent:@"h"], 47 [NSMenuItem itemWithTitle:NSLocalizedString(@"Hide Others", nil) 48 action:@selector(hideOtherApplications:) keyEquivalent:@"h" 49 keyEquivalentModifierMask: 50 NSCommandKeyMask|NSAlternateKeyMask], 51 [NSMenuItem itemWithTitle:NSLocalizedString(@"Show All", nil) 52 action:@selector(unhideAllApplications:)], 53 [NSMenuItem separatorItem], 54 [NSMenuItem itemWithTitle: 55 [NSString stringWithFormat:NSLocalizedString(@"Quit %@", nil), applicationName] 56 action: @selector(terminate:) keyEquivalent:@"q"], 57 nil] retain]; 58 _defaultApplicationMenu = [TKMenu menuWithTitle:applicationName 59 menuItems:_defaultApplicationMenuItems]; 60 [_defaultApplicationMenu insertItem: 61 [NSMenuItem itemWithTitle: 62 [NSString stringWithFormat:NSLocalizedString(@"About %@", nil), aboutName] 63 action:@selector(orderFrontStandardAboutPanel:)] atIndex:0];