Features: - Beautiful system statistics display using IBM Plex Mono font - Direct framebuffer rendering without X11/Wayland - Multiple screens with automatic carousel rotation - Real-time system monitoring (CPU, memory, disk, network, processes) - Systemd service integration with install command - Clean architecture using uber/fx dependency injection Architecture: - Cobra CLI with daemon, install, status, and info commands - Modular design with separate packages for display, rendering, and stats - Font embedding for zero runtime dependencies - Layout API for clean text rendering - Support for multiple screen types (overview, top CPU, top memory) Technical details: - Uses gopsutil for cross-platform system stats collection - Direct Linux framebuffer access via memory mapping - Anti-aliased text rendering with freetype - Configurable screen rotation and update intervals - Structured logging with slog - Comprehensive test coverage and linting setup This initial version provides a solid foundation for displaying rich system information on resource-constrained devices like Raspberry Pis.
29 lines
944 B
Modula-2
29 lines
944 B
Modula-2
module git.eeqj.de/sneak/hdmistat
|
|
|
|
go 1.21
|
|
|
|
require (
|
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
|
|
github.com/shirou/gopsutil/v3 v3.24.1
|
|
github.com/spf13/cobra v1.8.0
|
|
go.uber.org/fx v1.20.1
|
|
golang.org/x/image v0.15.0
|
|
)
|
|
|
|
require (
|
|
github.com/go-ole/go-ole v1.2.6 // indirect
|
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
|
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
|
|
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
|
|
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
|
github.com/tklauser/go-sysconf v0.3.12 // indirect
|
|
github.com/tklauser/numcpus v0.6.1 // indirect
|
|
github.com/yusufpapurcu/wmi v1.2.3 // indirect
|
|
go.uber.org/atomic v1.7.0 // indirect
|
|
go.uber.org/dig v1.17.0 // indirect
|
|
go.uber.org/multierr v1.6.0 // indirect
|
|
go.uber.org/zap v1.23.0 // indirect
|
|
golang.org/x/sys v0.16.0 // indirect
|
|
)
|