在El capitan中以编程方式'自动隐藏菜单栏'

时间:2015-10-08 11:31:43

标签: macos plist osx-elcapitan

我真的很喜欢El Capitan的'自动隐藏菜单栏'选项,但有时我喜欢它(私人)有时我不喜欢(工作)。有没有办法通过在plist文件中更改它的值来以编程方式显示/隐藏它?如果是这样,在哪个plist文件中找到了该设置?任何帮助表示赞赏。

4 个答案:

答案 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

MacOs Sierra

正如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;设置服务的首选快捷方式。

相关问题