我希望编写一个实用程序来自动隐藏菜单栏,就像停靠栏一样。这将复制仅适用于 OS X 10.4 的应用程序“Menufela”,但适用于 Snow Leopard。
[[NSApplication sharedApplication]
setPresentationOptions: NSApplicationPresentationAutoHideMenuBar
| NSApplicationPresentationAutoHideDock];
此代码自动隐藏菜单栏(和停靠),但仅在应用程序是最前面的窗口时。无论打开什么应用程序,我将如何在整个系统范围内应用此行为?
我唯一能想到的是一个 InputManager,但我以前没有写过,因此我不确定这是否是正确的方法。
此外,从 Leopard/Snow Leopard 看来 InputManagers 是有限的——来自这个 SO question:
它不会在 root 或 whell 拥有的进程中运行它们,也不会在已修改其 uid 的进程中运行它们。最重要的是,10.5 不会将输入管理器加载到 64 位进程中,并且表明即使使用 32 位也是不支持的,并且将在未来的版本中删除。
我不担心“将在未来的版本中删除”(它只需要在 Snow Leopard 上工作),我不认为 root 拥有的进程是一个问题(所有 GUI 应用程序都应该作为当前的),但可能必须将代码注入到许多 64 位应用程序(Finder/Safari/etc)中
(我最初在 SuperUser 上问过这个问题,但由于似乎没有现成的实用程序可以实现这一点,因此它与 StackOverflow 更相关)