From ba67c074dbec8c6a65283463d2fbce9503e27f78 Mon Sep 17 00:00:00 2001 From: CapCreeperGR Date: Sat, 8 Jun 2024 20:33:33 +0300 Subject: [PATCH] Fixed bug where system info would be cut off if ascii was short and added cachyos ascii --- config/ascii/cachyos | 23 +++++++++++++++++++++++ main.go | 35 +++++++++++++++++++++++------------ utils.go | 1 - 3 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 config/ascii/cachyos diff --git a/config/ascii/cachyos b/config/ascii/cachyos new file mode 100644 index 0000000..2daca93 --- /dev/null +++ b/config/ascii/cachyos @@ -0,0 +1,23 @@ +#/43;45;45;15 + ${C3}.${C1}-------------------------: + .${C2}+=${C1}========================. + :${C2}++${C1}===${C2}++===${C1}===============- :${C2}++${C1}- + :${C2}*++${C1}====${C2}+++++==${C1}===========- .==: + -${C2}*+++${C1}=====${C2}+***++=${C1}=========: + =${C2}*++++=${C1}=======------------: + =${C2}*+++++=${C1}====- ${C3}...${C1} + .${C2}+*+++++${C1}=-===: .${C2}=+++=${C1}: + :${C2}++++${C1}=====-==: -***${C2}**${C1}+ + :${C2}++=${C1}=======-=. .=+**+${C3}.${C1} +.${C2}+${C1}==========-. ${C3}.${C1} + :${C2}+++++++${C1}====- ${C3}.${C1}--==-${C3}.${C1} + :${C2}++${C1}==========. ${C3}:${C2}+++++++${C1}${C3}: + ${C1}.-===========. =*****+*+ + ${C1}.-===========: .+*****+: + ${C1}-=======${C2}++++${C1}:::::::::::::::::::::::::-: ${C3}.${C1}---: + :======${C2}++++${C1}====${C2}+++******************=. + ${C1}:=====${C2}+++${C1}==========${C2}++++++++++++++*- + ${C1}.====${C2}++${C1}==============${C2}++++++++++*- + ${C1}.===${C2}+${C1}==================${C2}+++++++: + ${C1}.-=======================${C2}+++: + ${C3}.......................... diff --git a/main.go b/main.go index db8531b..45d98d9 100644 --- a/main.go +++ b/main.go @@ -152,20 +152,31 @@ func readConfig() { } } final := "" - for lineIndex, line := range asciiSplit { - lineVisibleLength := len(strings.Split(asciiNoColor, "\n")[lineIndex]) - lastAsciiColor := "" - if lineIndex != 0 { - r := regexp.MustCompile("\033[38;5;[0-9]+m") - matches := r.FindAllString(asciiSplit[lineIndex-1], -1) - if len(matches) != 0 { - lastAsciiColor = r.FindAllString(asciiSplit[lineIndex-1], -1)[len(matches)-1] - } - } - for i := lineVisibleLength; i < maxWidth+5; i++ { + y := len(asciiSplit) + if len(asciiSplit) < len(strings.Split(string(out), "\n")) { + y = len(strings.Split(string(out), "\n")) + } + for lineIndex := 0; lineIndex < y; lineIndex++ { + line := "" + for i := 0; i < maxWidth+5; i++ { line = line + " " } - asciiSplit[lineIndex] = lastAsciiColor + line + lastAsciiColor := "" + if lineIndex < len(asciiSplit) { + line = asciiSplit[lineIndex] + lineVisibleLength := len(strings.Split(asciiNoColor, "\n")[lineIndex]) + if lineIndex != 0 { + r := regexp.MustCompile("\033[38;5;[0-9]+m") + matches := r.FindAllString(asciiSplit[lineIndex-1], -1) + if len(matches) != 0 { + lastAsciiColor = r.FindAllString(asciiSplit[lineIndex-1], -1)[len(matches)-1] + } + } + for i := lineVisibleLength; i < maxWidth+5; i++ { + line = line + " " + } + asciiSplit[lineIndex] = lastAsciiColor + line + } str := string(out) if lineIndex < len(strings.Split(str, "\n")) { line = line + colorMap["C0"] + strings.Split(str, "\n")[lineIndex] diff --git a/utils.go b/utils.go index 2866c75..a3972df 100644 --- a/utils.go +++ b/utils.go @@ -267,7 +267,6 @@ func GetDEWM() string { } return strings.TrimSpace(string(out)) } - if processExists("plasmashell") { return "KDE Plasma " + runCommand("plasmashell --version | awk '{print $2}'") } else if processExists("gnome-session") {