diff --git a/Makefile b/Makefile index eead6c5..242db01 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ endif build: mkdir -p build - $(GO) build -o build/stormfetch stormfetch + $(GO) build -ldflags "-w" -o build/stormfetch stormfetch install: build/stormfetch config/ mkdir -p $(DESTDIR)$(BINDIR) @@ -29,5 +29,8 @@ compress: build/stormfetch config/ tar --owner=root --group=root -czf stormfetch.tar.gz stormfetch rm -r stormfetch +run: build/stormfetch + build/stormfetch + clean: rm -r build/ \ No newline at end of file diff --git a/config/fetch_script.sh b/config/fetch_script.sh index fa107d7..12f8c9e 100644 --- a/config/fetch_script.sh +++ b/config/fetch_script.sh @@ -5,11 +5,15 @@ echo -e "${C3}Hostname: ${C4}$(cat /etc/hostname)" echo -e "${C3}Kernel: ${C4}$(uname -s) $(uname -r)" echo -e "${C3}Packages: ${C4}$(get_packages)" echo -e "${C3}Shell: ${C4}${USER_SHELL}" -echo -e "${C3}CPU: ${C4}${CPU_MODEL} (${CPU_THREADS} threads)" +if [ ! -z "$CPU_MODEL" ]; then + echo -e "${C3}CPU: ${C4}${CPU_MODEL} (${CPU_THREADS} threads)" +fi if [ ! -z "$GPU_MODEL" ]; then echo -e "${C3}GPU: ${C4}${GPU_MODEL}" fi -echo -e "${C3}Memory: ${C4}${MEM_USED} MiB / ${MEM_TOTAL} MiB" +if [ ! -z "$MEM_TOTAL" ] && [ ! -z "$MEM_USED" ]; then + echo -e "${C3}Memory: ${C4}${MEM_USED} MiB / ${MEM_TOTAL} MiB" +fi if xhost >& /dev/null ; then if [ ! -z "$DE_WM" ]; then echo -e "${C3}DE/WM: ${C4}${DE_WM}" diff --git a/main.go b/main.go index 3b1d03f..3066bff 100644 --- a/main.go +++ b/main.go @@ -144,9 +144,11 @@ func readConfig() { cmd.Env = append(cmd.Env, "CPU_MODEL="+getCPUName()) cmd.Env = append(cmd.Env, "CPU_THREADS="+strconv.Itoa(getCPUThreads())) memory := GetMemoryInfo() - cmd.Env = append(cmd.Env, "MEM_TOTAL="+strconv.Itoa(memory.MemTotal)) - cmd.Env = append(cmd.Env, "MEM_USED="+strconv.Itoa(memory.MemTotal-memory.MemAvailable)) - cmd.Env = append(cmd.Env, "MEM_FREE="+strconv.Itoa(memory.MemAvailable)) + if memory != nil { + cmd.Env = append(cmd.Env, "MEM_TOTAL="+strconv.Itoa(memory.MemTotal)) + cmd.Env = append(cmd.Env, "MEM_USED="+strconv.Itoa(memory.MemTotal-memory.MemAvailable)) + cmd.Env = append(cmd.Env, "MEM_FREE="+strconv.Itoa(memory.MemAvailable)) + } cmd.Env = append(cmd.Env, "DE_WM="+GetDEWM()) cmd.Env = append(cmd.Env, "USER_SHELL="+GetShell()) if getGPUName() != "" { diff --git a/utils.go b/utils.go index b64b3ff..13c7dff 100644 --- a/utils.go +++ b/utils.go @@ -108,6 +108,9 @@ func getCPUName() string { if err != nil { return "" } + if len(cpu.Processors) == 0 { + return "" + } return cpu.Processors[0].Model } @@ -141,7 +144,7 @@ type Memory struct { MemAvailable int } -func GetMemoryInfo() Memory { +func GetMemoryInfo() *Memory { toInt := func(raw string) int { if raw == "" { return 0 @@ -159,6 +162,9 @@ func GetMemoryInfo() Memory { return keyValue[0], toInt(keyValue[1]) } + if _, err := os.Stat("/proc/meminfo"); err != nil { + return nil + } file, err := os.Open("/proc/meminfo") if err != nil { panic(err) @@ -178,7 +184,7 @@ func GetMemoryInfo() Memory { res.MemAvailable = value / 1024 } } - return res + return &res } func GetShell() string {