Open the Menu Bar Gate GitHub repository Source code · Releases · Issues · Build instructions

Native macOS menu-bar utility

Stop the menu bar appearing in full screen on your Mac

Menu Bar Gate stops the pointer 4 points below the top edge in full-screen apps. Hold Control—or another key you choose—to pass through and reveal the menu bar. It works system-wide.

No Hammerspoon setup or Lua scripts required.

Free to use · v1.0.1 release notes · macOS 13+ · M1 or newer

Lives quietly in your menu bar. Click the status icon to change the key, clearance, or full-screen setting.

Prevent the hidden Mac menu bar from appearing by accident

In a full-screen browser, editor, game, or remote desktop, macOS reveals its hidden menu bar as soon as the pointer touches the top edge. That can cover tabs and controls at exactly the wrong moment.

Menu Bar Gate adds a tiny, adjustable protected strip. Normal movement stops below it; holding your chosen gate key restores the usual macOS behavior instantly.

If your Mac menu bar keeps popping up when the mouse reaches the top in full screen, this is the exact trigger Menu Bar Gate blocks. It does not delete or permanently hide the menu bar.

Built for this one job

Small enough to understand

The native Swift runtime is 480 lines across seven files, with no third-party packages. Browse all 480 lines on GitHub.

  1. 1

    Check the context

    By default, the app checks whether the frontmost window is full screen and whether your gate key is held. It never reads screen pixels.

  2. 2

    Stop only at the edge

    If the key is not held, entering the protected strip changes only the pointer's vertical position. Its horizontal position stays untouched.

  3. 3

    Hold a key to pass

    Hold Control—or your chosen key—and pointer events pass through unchanged, letting macOS reveal the menu bar normally.

Source available. Small enough to audit.

Explore Menu Bar Gate on GitHub

Read the complete Swift source, build it yourself, view releases, report issues, or request Intel support. Open the GitHub repository

A focused Hammerspoon alternative for one macOS behavior

If you already use Hammerspoon, a script can be a perfectly valid option. Menu Bar Gate is for people who want this one behavior without maintaining that setup.

Feature Menu Bar Gate Hammerspoon script
Setup Drag in one app and grant Accessibility Install Hammerspoon, grant Accessibility, and configure Lua
Settings Built-in key, clearance, scope, and login controls Edit and maintain a script
Best for One dedicated behavior Broader Mac automation

macOS protects system-wide input

Accessibility permission is required to observe pointer movement and your selected key across apps, move only the pointer's y position away from the protected edge, and check whether the frontmost window is full screen.

Without that permission, protection cannot start. Gatekeeper approval and Accessibility permission are separate macOS checks.

Inspect the Accessibility implementation on GitHub →

No screen capture. No network.

  • No screen pixels, files, or window contents read
  • No account, analytics, updater, or networking
  • No third-party package or hidden service
  • Keyboard events pass through unchanged
  • Preferences stay in macOS user defaults
Verify these privacy claims on GitHub →

Drag, open, allow

  1. 1

    Download and open MenuBarGate.dmg.

  2. 2

    Drag Menu Bar Gate into the Applications folder.

  3. 3

    Open it and allow Menu Bar Gate in System Settings → Privacy & Security → Accessibility.

Current release: Apple silicon and macOS 13+ only. The app is ad-hoc signed, not Developer ID signed or notarized, so the first launch may require Control-click → Open. Follow the signing and notarization roadmap.

Common questions

How do I stop the menu bar appearing in full screen on Mac?

Menu Bar Gate adds a small protected strip at the top edge. In a full-screen app, it keeps the pointer just below that strip so macOS does not reveal the menu bar accidentally. Hold your configured gate key whenever you want to pass through.

Does it remove or permanently hide the menu bar?

No. It preserves normal macOS behavior and only prevents an accidental pointer crossing. Hold the gate key, pause protection, leave full screen, or quit the app to reach the top normally.

Is Hammerspoon required?

No. Menu Bar Gate is a standalone native app. No Hammerspoon setup, Lua script, package manager, or third-party dependency is required.

Why does it need Accessibility permission?

macOS requires that permission for system-wide input event taps and frontmost-window accessibility attributes. The app uses those APIs only to detect the pointer, track the selected gate key, adjust the pointer's vertical coordinate, and identify full-screen windows.

Does it work system-wide?

Yes. It runs as one menu-bar utility across apps. By default, protection engages only when the frontmost app is full screen.

Does it work with “Automatically hide and show the menu bar” set to “In Full Screen Only”?

Yes. That is the default macOS setting Menu Bar Gate is designed for. Protection engages in a full-screen app and keeps the pointer below the activation edge until you hold your gate key.

Can I change the Control key or the 4-point gap?

Yes. Open the app's menu-bar icon to choose a different gate key and adjust the edge clearance.

Does it work on Intel Macs?

The current prebuilt download is Apple-silicon-only. If you need an Intel or universal build, open an issue so demand can be tracked.

Is the download notarized?

Not yet. Version 1.0.1 is ad-hoc signed rather than Developer ID signed and notarized. The source is available for inspection and local building, and signing/notarization is on the public roadmap.

Keep the edge quiet until you mean it.