Connor Holly

Project

Menu Bar Widgets

Native Swift app + SwiftBar scripts:a command center living in the macOS menu bar

Overview

A collection of menu bar tools that give me instant visibility into my AI-powered operating system without context switching. Combines a native SwiftUI app for task management with SwiftBar scripts for system monitoring.

The hybrid approach makes sense: SwiftBar is perfect for status indicators that just need to display info and trigger actions, while native Swift is necessary for interactive UIs like task management with hover states, tabs, and forms.

· · ·

TodoMenuBarNative Swift

☑ 7

A full SwiftUI menu bar app for managing todos and initiatives. Uses MenuBarExtra with window style for a floating panel with complete interactivity.

Three Tabs

  • Todos:Immediate tasks with complete/delete on hover
  • Initiatives:High-level goals with status toggle
  • Done:Completed items with restore/delete options

Categories

  • PURPOSE:Purpose AI work
  • TRADERS LAUNCH:TL operations
  • LIFE:Personal tasks

Priority & Status Indicators

Todo Priority

  • High
  • Medium
  • Low

Initiative Status

  • Active:currently in progress
  • Planned:queued for later

Full CRUD

  • Add:Quick-add forms for todos and initiatives with category/priority pickers
  • Complete:Hover to reveal checkmark, moves to Done tab
  • Toggle Status:Click initiative diamond to switch active ↔ planned
  • Restore:Move completed items back to their original category
  • Delete:Permanently remove items (hover to reveal trash icon)

Auto-refreshes every 30 seconds · Reads/writes todos.json and initiatives.json

· · ·

Ops Control TowerSwiftBar

✅ Ops 100%

Shows automation health at a glance. Reads from automation-status.json which is continuously updated by background agents.

  • • Health score percentage with color coding (green/orange/red)
  • • Failed automation list with one-click log access
  • • Warning indicators for stale runs or missed schedules
  • • "Kick" button to restart the health monitor agent
  • • Opens automation dashboard HTML for full details

Refreshes every 2 minutes · ops-control-tower.2m.py

· · ·

Claude WaitingSwiftBar

🔴 2

The "attention required" indicator. When Claude Code sessions are waiting for my input (question asked, approval needed, etc.), this badge appears with a count.

  • • Red badge with count when sessions need attention
  • • Dropdown lists each waiting session with project name and age
  • • Click to jump directly to that iTerm tab (via AppleScript)
  • • Auto-cleans dead sessions by checking iTerm GUIDs
  • • Warning indicators for sessions approaching 48h timeout

Refreshes every 2 seconds · claude-waiting.2s.sh

· · ·

Architecture

The hybrid approach emerged naturally: SwiftBar's script-based model is perfect for status displays but hits limits with interactive UIs. The menu closes on any click action, making tabbed interfaces painful (open menu → click tab → menu closes → reopen menu).

Native Swift (TodoMenuBar)

  • • Full SwiftUI with hover states
  • • Persistent floating window
  • • Tab switching without menu close
  • • Input forms and pickers
  • • Built with xcodegen + xcodebuild

SwiftBar Scripts

  • • Python/Bash scripts
  • • Status indicators and badges
  • • Click-to-action commands
  • • Perfect for monitoring
  • • Fast to iterate on

Both share the same JSON state files in ~/life-os/:the same files Claude Code reads and writes. It's a shared state layer between the menu bar and the AI.

· · ·

Source

TodoMenuBar: ~/life-os/apps/TodoMenuBar/:installed to /Applications

SwiftBar scripts: ~/life-os/widgets/swiftbar/:symlinked to SwiftBar plugin directory

Part of the larger life-os system.