ComputerBar is a macOS menu bar monitor for local and remote machines. It shows compact CPU, memory, optional Linux swap, and disk bars directly in the menu bar, then opens a larger popover with detailed host status. The Windows branch adds a native tray version with the same host-monitoring model.
- Monitor this Mac and remote Linux hosts over SSH.
- Display multiple selected machines in the menu bar.
- Stack CPU, memory, optional Linux swap, and disk usage bars per machine to keep the menu bar compact.
- Use the popover for detailed CPU, memory, Linux swap when enabled, disk, load average, uptime, and last-updated status.
- Publish widget snapshots for the desktop widget.
- Refresh in the background on the configured interval.
- macOS 14 or newer.
- Xcode command line tools.
xcodegenfor building the app bundle with the widget extension.- SSH access configured in
~/.ssh/configfor remote hosts.
Install xcodegen with:
brew install xcodegen- Windows 10/11 desktop.
- .NET 10 SDK.
- OpenSSH client available on
PATHfor remote hosts. - SSH aliases configured in
%USERPROFILE%\.ssh\config.
Run tests:
swift testRun Windows tests:
dotnet test Windows\ComputerBar.Windows.slnBuild, install, and launch the app:
./scripts/install-app.shThe script builds ComputerBar.app, installs it to /Applications/ComputerBar.app, registers the widget extension, and launches the app.
It selects a local Apple Development identity automatically; set CODESIGN_IDENTITY in the local
shell to override it. The Team ID is derived during the build and is never stored in the repository.
Open the menu bar item to view monitored machines. Use Settings... to select which machines appear in the menu bar and adjust the refresh interval.
Remote machines are discovered from SSH config aliases. Each selected machine contributes one compact menu bar element with three stacked bars by default:
cpumemdsk
Linux hosts with SwapTotal > 0 add a fourth virtual-memory bar and a Virtual Memory Usage row in the popover and widget.
On Windows, the notification area only gives the app a square tray icon. ComputerBar therefore shows one selected machine as a large usage pie in the tray icon, using the highest current CPU, memory, Linux swap, or disk usage. The popover still shows all selected machines with full CPU, memory, Linux swap when enabled, disk, load, uptime, and updated status.
Sources/ComputerBar/- macOS app, menu bar controller, settings, SSH monitoring, and UI.Sources/ComputerBarShared/- shared widget snapshot models and persistence.Sources/ComputerBarWidget/- WidgetKit extension.Tests/ComputerBarTests/- app model, SSH parsing, monitor parsing, and widget snapshot tests.Resources/- app icons, entitlements, plists, and screenshots.Windows/- Windows native WPF + NotifyIcon implementation and .NET tests.scripts/install-app.sh- build, sign, install, register, and launch workflow.
