fix plugin installation

This commit is contained in:
2025-09-09 22:21:09 +02:00
parent d962c87fe3
commit 7da6746d0e
4 changed files with 24 additions and 44 deletions

View File

@@ -4,6 +4,7 @@ import (
"bufio"
"fmt"
"os"
"runtime"
"strings"
"time"
@@ -11,39 +12,6 @@ import (
"github.com/shirou/gopsutil/v3/mem"
)
func isSupported() bool {
goos := os.Getenv("TMUX_SYSUSAGE_GOOS") // Debug/Override optional
if goos == "" {
goos = detectGOOS()
}
switch goos {
case "darwin":
return true
case "linux":
id := linuxID()
return id == "ubuntu" || id == "arch"
default:
return false
}
}
func detectGOOS() string {
// runtime.GOOS vermeiden, um Import minimal zu halten? Es ist Standard—nutzen wir.
// (Minimale Imports sind nice-to-have, aber runtime ist winzig.)
// Wir nehmen ihn doch, weil zuverlässig.
// → Ein einzelner Import mehr ist ok.
return runtimeGOOS()
}
//go:noinline
func runtimeGOOS() string {
// kleiner Trick: getrennt, damit der Compiler runtime nicht inlined—irrelevant, aber clean.
return getGOOS()
}
//go:linkname getGOOS runtime.GOOS
func getGOOS() string
func linuxID() string {
f, err := os.Open("/etc/os-release")
if err != nil {
@@ -62,12 +30,22 @@ func linuxID() string {
return ""
}
func isSupported() bool {
switch runtime.GOOS {
case "darwin":
return true
case "linux":
id := linuxID()
return id == "ubuntu" || id == "arch"
default:
return false
}
}
func main() {
if !isSupported() {
// Keine Ausgabe auf nicht unterstützten Systemen
return
}
// Kurze CPU-Stichprobe
values, err := cpu.Percent(400*time.Millisecond, false)
if err != nil || len(values) == 0 {
return
@@ -76,7 +54,6 @@ func main() {
if err != nil {
return
}
// Kompakte tmux-Ausgabe
fmt.Printf("CPU %.0f%% | RAM %.0f%%", values[0], vm.UsedPercent)
}