summaryrefslogtreecommitdiff
path: root/MACOS.md
diff options
context:
space:
mode:
Diffstat (limited to 'MACOS.md')
-rw-r--r--MACOS.md71
1 files changed, 0 insertions, 71 deletions
diff --git a/MACOS.md b/MACOS.md
deleted file mode 100644
index ba6efda..0000000
--- a/MACOS.md
+++ /dev/null
@@ -1,71 +0,0 @@
-# macOS Support for Loadbars
-
-## What was implemented
-
-Loadbars now fully supports macOS with automatic window activation built into the binary.
-
-### Changes made:
-
-1. **Script embedding** - Both Linux and Darwin monitoring scripts are embedded in the binary
-2. **OS detection** - Automatically uses the correct script based on the host:
- - `localhost` on macOS → Darwin script (sysctl, vm_stat, netstat, iostat)
- - `localhost` on Linux → Linux script (/proc filesystem)
- - All remote hosts → Linux script (assumes remote servers are Linux)
-3. **Window activation** - macOS-specific code automatically brings SDL window to foreground
- - Uses build tags (`activate_darwin.go` and `activate.go`)
- - No external helper script needed
-
-## Usage on macOS
-
-Simply run the binary directly:
-
-```bash
-# Monitor localhost
-./loadbars --showcores --showmem --shownet
-
-# Monitor remote Linux servers
-./loadbars server1.example.com server2.example.com --showcores
-
-# Monitor both localhost and remotes
-./loadbars localhost server1.example.com server2.example.com --showcores
-```
-
-The window will automatically appear in the foreground.
-
-## Building on macOS
-
-Requirements:
-```bash
-brew install sdl2
-```
-
-Build:
-```bash
-mage build
-# or
-go build -o loadbars ./cmd/loadbars
-```
-
-## Technical details
-
-### Script selection logic
-- `internal/collector/script.go` - Embeds both scripts
-- `internal/collector/collector.go` - Selects script based on host:
- - For localhost: checks if `/proc` exists to determine Linux vs macOS
- - For remote hosts: always uses Linux script
-
-### Window activation
-- `internal/display/activate_darwin.go` - macOS-specific activation using `open -a`
-- `internal/display/activate.go` - No-op for other platforms
-- Called automatically after SDL window creation
-
-### Darwin monitoring script
-- Uses macOS native tools: `sysctl`, `vm_stat`, `netstat -ibn`, `iostat`
-- Outputs same protocol format as Linux script (M LOADAVG, M MEMSTATS, etc.)
-- Limitations: No per-core CPU stats on macOS (iostat limitation)
-
-## Known limitations
-
-- Remote macOS hosts are not supported (assumes all remote hosts are Linux)
-- macOS script doesn't provide per-core CPU statistics (iostat limitation)
-- Swap usage on macOS always shows 0 (macOS uses compressed memory differently)