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"
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -21,13 +22,6 @@ const (
|
|||||||
|
|
||||||
var dist string
|
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 {
|
func getDist() string {
|
||||||
f, _ := os.Open("/etc/os-release")
|
f, _ := os.Open("/etc/os-release")
|
||||||
defer func(f *os.File) {
|
defer func(f *os.File) {
|
||||||
@ -192,25 +186,18 @@ func getPkgs() string {
|
|||||||
return "unknown"
|
return "unknown"
|
||||||
}
|
}
|
||||||
|
|
||||||
//func getAscii() string {
|
func getLogo(dist string) string {
|
||||||
// var ascii string
|
switch {
|
||||||
// if strings.HasPrefix(dist, "Arch") {
|
case strings.HasPrefix(dist, "Arch"):
|
||||||
// content := " _ _ _\n /\\ | | | | (_)\n / \\ _ __ ___| |__ | | _ _ __ _ ___ __\n / /\\ \\ | '__/ __| '_ \\ | | | | '_ \\| | | \\ \\/ /\n / ____ \\| | | (__| | | | | |____| | | | | |_| |> <\n /_/ \\_\\_| \\___|_| |_| |______|_|_| |_|\\__,_/_/\\_\\\n"
|
return "logos/arch.png"
|
||||||
// ascii = fmt.Sprintf(content)
|
case strings.HasPrefix(dist, "NixOS"):
|
||||||
// return ascii
|
return "logos/nixos.png"
|
||||||
// }
|
case strings.HasPrefix(dist, "Debian"):
|
||||||
// if strings.HasPrefix(dist, "Debian") {
|
return "logos/debian.png"
|
||||||
// content := " _____ _ _\n | __ \\ | | (_)\n | | | | ___ | |__ _ __ _ _ __\n | | | | / _ \\ | '_ \\ | | / _` | | '_ \\\n | |__| | | __/ | |_) | | | | (_| | | | | |\n |_____/ \\___| |_.__/ |_| \\__,_| |_| |_|\n"
|
default:
|
||||||
// ascii = fmt.Sprintf(content)
|
return "logos/linux.png"
|
||||||
// return ascii
|
}
|
||||||
// }
|
}
|
||||||
// if strings.HasPrefix(dist, "NixOS") {
|
|
||||||
// content := " _ _ _ ____ _____\n | \\ | (_) / __ \\ / ____|\n | \\| |___ _| | | | (___\n | . ` | \\ \\/ / | | |\\___ \\\n | |\\ | |> <| |__| |____) |\n |_| \\_|_/_/\\_\\\\____/|_____/\n"
|
|
||||||
// ascii = fmt.Sprintf(content)
|
|
||||||
// return ascii
|
|
||||||
// }
|
|
||||||
// return "unknown"
|
|
||||||
//}
|
|
||||||
|
|
||||||
func printLogo(path string, width uint) {
|
func printLogo(path string, width uint) {
|
||||||
cols := width / 8
|
cols := width / 8
|
||||||
@ -263,12 +250,23 @@ func getDE() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getUptime() string {
|
func getUptime() string {
|
||||||
out, err := exec.Command("sh", "-c", "uptime -p").Output()
|
data, err := os.ReadFile("/proc/uptime")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "Unknown"
|
return "0"
|
||||||
}
|
}
|
||||||
uptime := strings.TrimPrefix(string(out), "up ")
|
uptimeStr := strings.Fields(string(data))[0]
|
||||||
return strings.TrimSpace(uptime)
|
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() {
|
func main() {
|
||||||
@ -277,12 +275,9 @@ func main() {
|
|||||||
Value string
|
Value string
|
||||||
}
|
}
|
||||||
dist := getDist()
|
dist := getDist()
|
||||||
defaultLogo, ok := logoMap[dist]
|
logo := getLogo(dist)
|
||||||
if !ok {
|
|
||||||
defaultLogo = logoMap["default"]
|
|
||||||
}
|
|
||||||
|
|
||||||
absoluteDefaultLogo := getAbsLogoPath(defaultLogo)
|
absoluteDefaultLogo := getAbsLogoPath(logo)
|
||||||
|
|
||||||
stats := []Info{
|
stats := []Info{
|
||||||
{"dist", dist},
|
{"dist", dist},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user