summaryrefslogtreecommitdiffstats
path: root/macosx/tkMacOSXMenus.c
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/tkMacOSXMenus.c')
-rw-r--r--macosx/tkMacOSXMenus.c53
1 files changed, 42 insertions, 11 deletions
diff --git a/macosx/tkMacOSXMenus.c b/macosx/tkMacOSXMenus.c
index 15dbad4..7d77d23 100644
--- a/macosx/tkMacOSXMenus.c
+++ b/macosx/tkMacOSXMenus.c
@@ -17,6 +17,7 @@
static void GenerateEditEvent(const char *name);
static Tcl_Obj * GetWidgetDemoPath(Tcl_Interp *interp);
+
#pragma mark TKApplication(TKMenus)
@@ -97,19 +98,49 @@ static Tcl_Obj * GetWidgetDemoPath(Tcl_Interp *interp);
target:nil],
nil]];
- _defaultWindowsMenuItems = [[NSArray arrayWithObjects:
- [NSMenuItem itemWithTitle:@"Minimize"
- action:@selector(performMiniaturize:) target:nil
- keyEquivalent:@"m"],
- [NSMenuItem itemWithTitle:@"Zoom" action:@selector(performZoom:)
- target:nil],
- [NSMenuItem separatorItem],
+ _defaultWindowsMenuItems = [NSArray arrayWithObjects:
+ [NSMenuItem itemWithTitle:@"Minimize"
+ action:@selector(performMiniaturize:) target:nil
+ keyEquivalent:@"m"],
+ [NSMenuItem itemWithTitle:@"Zoom" action:@selector(performZoom:)
+ target:nil],
+ nil];
+
+ /*
+ * On OS X 10.12 we get duplicate tab control items if we create them here.
+ */
+
+ if ([NSApp macMinorVersion] > 12) {
+ _defaultWindowsMenuItems = [_defaultWindowsMenuItems
+ arrayByAddingObjectsFromArray:
+ [NSArray arrayWithObjects:
+ [NSMenuItem separatorItem],
+ [NSMenuItem itemWithTitle:@"Show Previous Tab"
+ action:@selector(selectPreviousTab:)
+ target:nil
+ keyEquivalent:@"\t"
+ keyEquivalentModifierMask:
+ NSControlKeyMask|NSShiftKeyMask],
+ [NSMenuItem itemWithTitle:@"Show Next Tab"
+ action:@selector(selectNextTab:)
+ target:nil
+ keyEquivalent:@"\t"
+ keyEquivalentModifierMask:NSControlKeyMask],
+ [NSMenuItem itemWithTitle:@"Move Tab To New Window"
+ action:@selector(moveTabToNewWindow:)
+ target:nil],
+ [NSMenuItem itemWithTitle:@"Merge All Windows"
+ action:@selector(mergeAllWindows:)
+ target:nil],
+ [NSMenuItem separatorItem],
+ nil]];
+ }
+ _defaultWindowsMenuItems = [_defaultWindowsMenuItems arrayByAddingObject:
[NSMenuItem itemWithTitle:@"Bring All to Front"
- action:@selector(arrangeInFront:)],
- nil] retain];
-
+ action:@selector(arrangeInFront:)]];
+ [_defaultWindowsMenuItems retain];
TKMenu *windowsMenu = [TKMenu menuWithTitle:@"Window" menuItems:
- _defaultWindowsMenuItems];
+ _defaultWindowsMenuItems];
_defaultHelpMenuItems = [[NSArray arrayWithObjects:
[NSMenuItem itemWithTitle: