| Age | Commit message (Collapse) | Author |
|
Draw a 1px red horizontal line spanning the full window width showing
the mean CPU usage across all monitored hosts. Toggled with 'g' hotkey
and persistable to ~/.loadbarsrc via 'w'.
Bump version to 0.10.0.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Fixes issue where integer division (winW / numBars) left unused pixels
on the right side of the window. The more cores displayed, the more
obvious the gap became.
Changes:
- Add barBounds() helper to calculate exact position and width for each bar
- Distribute remainder pixels evenly using scaled division
- Update drawing functions to use pre-calculated positions
- Update test to verify bars now fill entire window width
Increment version to 0.9.1
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Sum RX/TX across all non-lo interfaces instead of picking a single one.
Remove the n hotkey (cycle interface), netint config field, and --netint
flag since they are no longer needed. Fix pre-existing bug where net bars
decayed to zero between collector updates (~19 of 20 frames had target=0,
making bars invisible even during heavy downloads).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Add missing f/v hotkey handlers to cycle NetLink through
mbit/10mbit/100mbit/gbit/10gbit, closing the gap between README
documentation and actual implementation. Add 13 unit tests covering
all hotkey behaviors including visual pixel assertions for toggles.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
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>
|
|
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
|
|
|
|
Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
- 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>
|
|
- 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>
|
|
- 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>
|
|
- 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>
|
|
- 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>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019c58b3-06fb-733d-8fc1-f268fe7f70d5
Co-authored-by: Amp <amp@ampcode.com>
|