summaryrefslogtreecommitdiff
path: root/internal
AgeCommit message (Collapse)Author
2026-02-14Remove macOS stats gathering support, require Linux with /procv0.8.4Paul Buetow
Remove non-functional macOS monitoring code that used native tools (sysctl, vm_stat, netstat, iostat). Now loadbars exits with an error when attempting local stats gathering on non-Linux systems. macOS can still be used as a client to monitor remote Linux servers via SSH.
2026-02-14Fix stale pixels at right edge when toggling bar layoutv0.8.3Paul Buetow
drawFrame() only cleared the window on layout changes, leaving remainder pixels (from integer division winW/numBars) with stale content from the double-buffered back buffer. Now clears every frame per SDL2 best practice. Adds comprehensive SDL visual test harness using software renderer with pixel spot-checking for CPU, memory, network bars, and the remainder bug. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14Add macOS support with automatic window activationPaul Buetow
This commit adds full macOS support for loadbars, allowing it to run natively on macOS for both localhost monitoring and remote Linux hosts. Key changes: - Embed both Linux and Darwin monitoring scripts in the binary - Auto-detect localhost OS and use appropriate script - Darwin script uses native macOS tools (sysctl, vm_stat, netstat, iostat) - Remote hosts always use Linux script (assumes /proc filesystem) - Automatic window activation on macOS using build tags - No external helper scripts needed The binary now works seamlessly on macOS: - localhost monitoring uses macOS-specific commands - Remote Linux hosts work via SSH with Linux script - SDL window automatically comes to foreground on macOS - Cross-platform build with single binary for all scenarios Technical implementation: - internal/collector/script.go: Embeds both scripts - internal/collector/loadbars-remote-darwin.sh: macOS monitoring - internal/collector/loadbars-remote.sh: Linux monitoring (copied from scripts/) - internal/display/activate_darwin.go: macOS window activation - internal/display/activate.go: No-op for other platforms - Updated README.md with macOS installation instructions - Added MACOS.md with detailed macOS documentation
2026-02-14remove version and some refactoringPaul Buetow
2026-02-14Bump version to 0.8.2v0.8.2Paul Buetow
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13Bump version to 0.8.1v0.8.1Paul Buetow
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13Show version in SDL window title bar (Loadbars 0.8.0)v0.8.0Paul Buetow
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13Remove 1px gaps between bars to fix vertical line artifactsPaul Buetow
- barWidth = winW/numBars (no -1), advance x by barW only - Eliminates uncleared 1px columns that showed as vertical lines Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13Document hotkeys in README; fix display/config; net interface helpPaul Buetow
- README: add Hotkeys section (1,2,3,e,h,n,q,w,a,y,d,c,f,v,arrows) - README: network interface and netlink config docs - Display: default window width 1200; clear bar slots to fix CPU/mem/net mixing - Display: numBars count only non-nil hosts (layout matches draw) - Display: network bars (key 3), net interface choice and n=cycle - Display: extended peak line (e), cpu/net avg keys (a,y,d,c) with feedback - Config: default barwidth 1200; netint/netlink in --help - Collector: parse_test Linux-style net stats Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13Fix core toggle off and add memory bars (key 2)Paul Buetow
- Clear renderer every frame so toggling cores off shows single bar again - Add drawMemBar: RAM (dark grey/black) and Swap (grey/black) per host - Remove redrawBg; always clear before draw - README updates Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13Fix hotkeys 1/2/3 and per-core displayPaul Buetow
- Collector: always send all CPU lines so key 1 can toggle per-core view - Display: use float division in drawCPUBar to avoid divide-by-zero panic - Display: count actual CPU bars for bar width so all cores fit on screen - Display: use local showMem/showNet for layout, add stdout feedback for 1/2/3 Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13Go rewrite: loadbars with mage, default localhost, NOTICEPaul Buetow
- Module codeberg.org/snonux/loadbars, Go 1.25 - cmd/loadbars, internal/{app,config,collector,display,stats,constants,version} - SDL display, shell script for remote (no Perl), config/cluster support - Magefile: build, test, install, uninstall/deinstall - NOTICE for go-sdl2 attribution (BSD-3-Clause) - Default to localhost when no hosts given (no SSH) - Remove loadbars-go binary name; build as loadbars Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-13Remove Perl version and build files; add .gitignore for .serena/Paul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019c58b3-06fb-733d-8fc1-f268fe7f70d5 Co-authored-by: Amp <amp@ampcode.com>