add fix for fuckOS
This commit is contained in:
parent
01345b0344
commit
203e966106
65
main.go
65
main.go
@ -12,6 +12,7 @@ import (
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -21,13 +22,6 @@ const (
|
||||
|
||||
var dist string
|
||||
|
||||
var logoMap = map[string]string{
|
||||
"Arch Linux": "logos/arch.png",
|
||||
"Debian": "logos/debian.png",
|
||||
"NixOS": "logos/nixos.png",
|
||||
"default": "logos/linux.png",
|
||||
}
|
||||
|
||||
func getDist() string {
|
||||
f, _ := os.Open("/etc/os-release")
|
||||
defer func(f *os.File) {
|
||||
@ -192,25 +186,18 @@ func getPkgs() string {
|
||||
return "unknown"
|
||||
}
|
||||
|
||||
//func getAscii() string {
|
||||
// var ascii string
|
||||
// if strings.HasPrefix(dist, "Arch") {
|
||||
// content := " _ _ _\n /\\ | | | | (_)\n / \\ _ __ ___| |__ | | _ _ __ _ ___ __\n / /\\ \\ | '__/ __| '_ \\ | | | | '_ \\| | | \\ \\/ /\n / ____ \\| | | (__| | | | | |____| | | | | |_| |> <\n /_/ \\_\\_| \\___|_| |_| |______|_|_| |_|\\__,_/_/\\_\\\n"
|
||||
// ascii = fmt.Sprintf(content)
|
||||
// return ascii
|
||||
// }
|
||||
// if strings.HasPrefix(dist, "Debian") {
|
||||
// content := " _____ _ _\n | __ \\ | | (_)\n | | | | ___ | |__ _ __ _ _ __\n | | | | / _ \\ | '_ \\ | | / _` | | '_ \\\n | |__| | | __/ | |_) | | | | (_| | | | | |\n |_____/ \\___| |_.__/ |_| \\__,_| |_| |_|\n"
|
||||
// ascii = fmt.Sprintf(content)
|
||||
// return ascii
|
||||
// }
|
||||
// if strings.HasPrefix(dist, "NixOS") {
|
||||
// content := " _ _ _ ____ _____\n | \\ | (_) / __ \\ / ____|\n | \\| |___ _| | | | (___\n | . ` | \\ \\/ / | | |\\___ \\\n | |\\ | |> <| |__| |____) |\n |_| \\_|_/_/\\_\\\\____/|_____/\n"
|
||||
// ascii = fmt.Sprintf(content)
|
||||
// return ascii
|
||||
// }
|
||||
// return "unknown"
|
||||
//}
|
||||
func getLogo(dist string) string {
|
||||
switch {
|
||||
case strings.HasPrefix(dist, "Arch"):
|
||||
return "logos/arch.png"
|
||||
case strings.HasPrefix(dist, "NixOS"):
|
||||
return "logos/nixos.png"
|
||||
case strings.HasPrefix(dist, "Debian"):
|
||||
return "logos/debian.png"
|
||||
default:
|
||||
return "logos/linux.png"
|
||||
}
|
||||
}
|
||||
|
||||
func printLogo(path string, width uint) {
|
||||
cols := width / 8
|
||||
@ -263,12 +250,23 @@ func getDE() string {
|
||||
}
|
||||
|
||||
func getUptime() string {
|
||||
out, err := exec.Command("sh", "-c", "uptime -p").Output()
|
||||
data, err := os.ReadFile("/proc/uptime")
|
||||
if err != nil {
|
||||
return "Unknown"
|
||||
return "0"
|
||||
}
|
||||
uptime := strings.TrimPrefix(string(out), "up ")
|
||||
return strings.TrimSpace(uptime)
|
||||
uptimeStr := strings.Fields(string(data))[0]
|
||||
seconds, err := strconv.ParseFloat(uptimeStr, 64)
|
||||
if err != nil {
|
||||
_, err := fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
if err != nil {
|
||||
return "error printing uptime"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
d := time.Duration(seconds) * time.Second
|
||||
formatted := d.Round(time.Second).String()
|
||||
spaced := strings.NewReplacer("h", "h ", "m", "m ", "s", "s ").Replace(formatted)
|
||||
return spaced
|
||||
}
|
||||
|
||||
func main() {
|
||||
@ -277,12 +275,9 @@ func main() {
|
||||
Value string
|
||||
}
|
||||
dist := getDist()
|
||||
defaultLogo, ok := logoMap[dist]
|
||||
if !ok {
|
||||
defaultLogo = logoMap["default"]
|
||||
}
|
||||
logo := getLogo(dist)
|
||||
|
||||
absoluteDefaultLogo := getAbsLogoPath(defaultLogo)
|
||||
absoluteDefaultLogo := getAbsLogoPath(logo)
|
||||
|
||||
stats := []Info{
|
||||
{"dist", dist},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user