How to Automatically Show Menu Bar Icons on Mac
Hiding menu bar icons is great for a clean desktop. But manually revealing them every time you need one? That defeats the purpose. Here's how to make your menu bar react to what you're actually doing.
Option 1: AppleScript Cron Jobs Manual
You can write AppleScript or shell scripts triggered by launchd or cron to toggle menu bar items at specific times or events. This requires scripting knowledge and manual maintenance.
# to check battery level and toggle an app
pmset -g batt | grep -o '[0-9]*%' | tr -d '%'
- ✓ Flexible: You can script anything if you know how.
- ✗ Requires Scripting: launchd plists, AppleScript, or shell scripting — not beginner-friendly.
- ✗ Fragile: Scripts break on macOS updates. No error handling unless you build it yourself.
- ✗ No UI: No way to see what triggers are active or edit them without a text editor.
Option 2: Third-Party Automation Complex
Tools like Keyboard Maestro, Shortcuts, or Raycast can trigger actions based on conditions. But they don't have direct control over menu bar icon visibility — you'd need to chain them with another tool.
- ✓ Powerful: Keyboard Maestro supports conditions, timers, and app-specific triggers.
- ✗ Indirect: These tools don't control menu bar visibility natively. You need AppleScript bridges or additional apps.
- ✗ Cost: Keyboard Maestro is $36+. You're paying for a general automation tool to solve one specific problem.
- − Setup Overhead: Building reliable triggers across multiple tools takes time to configure and debug.
Option 3: The Sane Way (SaneBar Smart Triggers) Winner
SaneBar Pro has a built-in Smart Triggers system. No scripting required. Toggle each trigger in Settings → Rules, and your hidden icons automatically appear when conditions are met.
- ✓ Low Battery: Auto-show when battery drops below your threshold. Checks every 60 seconds, triggers only on transition so you're not spammed.
- ✓ App Launch: Reveal icons when specific apps start. Choose which apps trigger it from a list of your installed apps.
- ✓ Wi-Fi Network: Show icons when you connect to specific Wi-Fi networks. Great for showing your VPN icon only at the office.
- ✓ Focus Mode: Respond to macOS Focus Mode changes. Show different icons when Do Not Disturb or a custom Focus activates.
- ✓ Schedule: Set time-of-day windows with weekday selection. Supports overnight windows (e.g. 10 PM to 6 AM). Icons show when local time enters the window.
- ✓ External Monitor: Always show icons when connected to an external display — you have the space, use it.
- ✓ Custom Script: Run any executable on a timer. Exit code 0 = show, non-zero = hide. 5-second timeout, respects Touch ID lock. For power users who want full control.