]> git.lyx.org Git - features.git/blob - src/support/AppleSupport.m
Guard new code for builds with OS X 10.11 SDK and lesser.
[features.git] / src / support / AppleSupport.m
1 /**
2  * \file AppleSupport.m
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Stephan Witt
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10
11 #import <Cocoa/Cocoa.h>
12 #include "AppleSupport.h"
13
14
15 void appleCleanupEditMenu() {
16
17         // Remove (disable) the "Start Dictation..." and "Emoji & Symbols" menu items
18         // from the "Edit" menu
19
20         [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSDisabledDictationMenuItem"];
21         [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSDisabledCharacterPaletteMenuItem"];
22 }
23
24
25 void appleCleanupViewMenu() {
26
27 #if defined(__MAC_OS_X_VERSION_MAX_ALLOWED) && (__MAC_OS_X_VERSION_MAX_ALLOWED >= 101200)
28         // Remove the "Show Tab Bar" menu item from the "View" menu, if supported
29         // See the Apple developer release notes:
30         // What should an application which already has support for tabbing do?
31         // - The application should explicitly opt-out of automatic window tabbing...
32         // It should respect the userTabbingPreference... see below
33         // https://developer.apple.com/library/archive/releasenotes/AppKit/RN-AppKitOlderNotes/index.html
34         if ([NSWindow respondsToSelector:@selector(allowsAutomaticWindowTabbing)])
35                 [NSWindow setAllowsAutomaticWindowTabbing:NO];
36
37         // Remove the "Enter Full Screen" menu item from the "View" menu
38         [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSFullScreenMenuItemEverywhere"];
39
40 #endif
41 }
42
43
44 bool appleUserTabbingPreferenceAlways() {
45         return [NSWindow respondsToSelector:@selector(userTabbingPreference)] &&
46                 [NSWindow userTabbingPreference] == NSWindowUserTabbingPreferenceAlways;
47 }