fix to power display

This commit is contained in:
alu
2026-08-04 14:20:23 -07:00
parent 04b4f53092
commit 16495b403b
5 changed files with 62 additions and 56 deletions
+9 -14
View File
@@ -6,36 +6,31 @@ import (
"strings"
)
func RenderCPU(console *strings.Builder) {
proc, err := proc.GetProc()
if err != nil {
return
}
func RenderCPU(console *strings.Builder, proc *proc.Proc) {
// Move cursor to top-left (0,0) without clearing full buffer (flicker-free)
console.WriteString("\033[H")
console.WriteString(fmt.Sprintf("=== %s ===\n", proc.Model()))
fmt.Fprint(console, "\033[H")
fmt.Fprintf(console, "=== %s ===\n", proc.Model())
RenderTemperatureSensors(console, proc)
RenderPowerSensors(console, proc)
}
func RenderTemperatureSensors(console *strings.Builder, proc proc.Proc) {
func RenderTemperatureSensors(console *strings.Builder, proc *proc.Proc) {
temps, _ := proc.SensorReader.ReadTemperatureSensors()
console.WriteString("=== Temperature ===\n")
fmt.Fprint(console, "--- Temperature ---\n")
for _, sensor := range temps {
tempC := sensor.TempC
tempF := (tempC * 9 / 5) + 32
// \033[K clears from cursor to end of line (prevents lingering chars)
console.WriteString(fmt.Sprintf("Sensor: %-25s | %5.1f°C (%5.1f°F)\033[K\n", sensor.Name, tempC, tempF))
fmt.Fprintf(console, "Sensor: %-25s | %5.1f°C (%5.1f°F)\033[K\n", sensor.Name, tempC, tempF)
}
}
func RenderPowerSensors(console *strings.Builder, proc proc.Proc) {
console.WriteString("=== Power ===\n")
func RenderPowerSensors(console *strings.Builder, proc *proc.Proc) {
fmt.Fprint(console, "--- Power ---\n")
power, _ := proc.SensorReader.ReadPowerSensors()
for _, sensor := range power {
// \033[K clears from cursor to end of line (prevents lingering chars)
console.WriteString(fmt.Sprintf("Sensor: %-25s | %5.1fW\033[K\n", sensor.Name, sensor.Watts))
fmt.Fprintf(console, "Sensor: %-25s | %5.1fW\033[K\n", sensor.Name, sensor.Watts)
}
}