我真的很喜欢El Capitan的'自动隐藏菜单栏'选项,但有时我喜欢它(私人)有时我不喜欢(工作)。有没有办法通过在plist文件中更改它的值来以编程方式显示/隐藏它?如果是这样,在哪个plist文件中找到了该设置?任何帮助表示赞赏。
答案 0 :(得分:2)
来自AppKit发行说明:
NSApplication(自WWDC Seed以来的新功能)
10.11支持一种新的菜单栏行为,在正常的非全屏交互过程中隐藏菜单栏。菜单栏显示出来 当鼠标移动到每个顶部的热区时自动移动 显示。启用此模式时, NSApplication.presentationOptions属性将包含 NSApplicationPresentationAutoHideMenuBar值。
在10.11之前,HIToolbox提供的SetSystemUIMode API和 由AppKit提供的NSApplication的setPresentationOptions API 不允许显式启用自动隐藏菜单栏 隐藏码头。 -setPresentationOptions现在允许选项 包含AutoHideMenuBar,不包括HideDock或 AutoHideDock。为确保与现有应用程序的兼容性, SetSystemUIMode API只允许在10.11和10上链接的应用程序 后来传递kUIModeNormal和的组合 kUIOptionAutoShowMenuBar;如果这个组合是由a指定的 在Yosemite或更早版本上链接的应用程序,即AutoShowMenuBar选项 被忽略
你正在寻找这一点。根据需要翻转它。
typedef NS_OPTIONS(NSUInteger, NSApplicationPresentationOptions) {
/* Flags that comprise an application's presentationOptions */
NSApplicationPresentationAutoHideMenuBar = (1 << 2),
} NS_ENUM_AVAILABLE_MAC(10_6);
答案 1 :(得分:2)
由Rich Trouton on apple.stackexchange.com
回答以下是使用默认设置隐藏和取消隐藏菜单栏的方法:
隐藏:
defaults write NSGlobalDomain _HIHideMenuBar -bool true
显示:
defaults write NSGlobalDomain _HIHideMenuBar -bool false
运行后,注销并重新登录。或者,您可以以登录用户身份运行以下命令以重新启动Finder并显示更改:
killall Finder
正如trevordmiller在下面的评论中指出的那样,在塞拉利昂,你似乎必须首先关闭你的终端才能使改变产生任何影响。
答案 2 :(得分:2)
截至10.12.5我发现@trevordmiller只是部分正确;每个应用程序似乎都需要单独重新启动才能注册新设置。换句话说,如果我使用:
defaults write NSGlobalDomain _HIHideMenuBar -bool false
killall Finder
这仅显示Finder处于活动状态时的菜单栏。要在其他应用程序中显示它,我必须重新启动它们。除了重新启动Finder应用程序并为其注册设置之外,不需要Killall Finder
。同样重启任何终端应用程序。
答案 3 :(得分:0)
太迟了。如果它可以帮助其他人,快捷方式可以使它变得更方便。
打开 Automator - &gt;选择服务 - &gt; 服务接收所选文字 - &gt;在任何应用中选择无输入 - &gt;添加运行Shell脚本操作 - &gt;添加以下行。
bool=$(defaults read NSGlobalDomain _HIHideMenuBar)
if [ "$bool" == 0 ]; then
defaults write NSGlobalDomain _HIHideMenuBar -bool true
else
defaults write NSGlobalDomain _HIHideMenuBar -bool false
fi
保存。 (这些步骤创建了一个在系统引导时运行的服务。)
提供快捷方式,
转到系统偏好设置 - &gt; KeyBoard - &gt; 快捷方式 - &gt; 服务 - &gt;滚动到最后查找常规部分 - &gt;设置服务的首选快捷方式。