2022-09-07 15:09:50 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2022-09-09 10:45:27 +02:00
|
|
|
"io/ioutil"
|
2022-09-07 17:28:27 +02:00
|
|
|
"os"
|
2022-09-09 21:41:50 +02:00
|
|
|
"path/filepath"
|
2022-09-07 17:28:27 +02:00
|
|
|
"strconv"
|
|
|
|
"strings"
|
2022-09-09 22:24:04 +02:00
|
|
|
|
2022-09-22 14:44:27 +02:00
|
|
|
"github.com/exhq/neowofetch/data"
|
2022-09-22 14:05:20 +02:00
|
|
|
"github.com/exhq/neowofetch/utils"
|
2022-09-07 15:09:50 +02:00
|
|
|
)
|
|
|
|
|
2022-09-08 17:57:10 +02:00
|
|
|
var isuwuified bool = true
|
2022-09-18 16:20:27 +02:00
|
|
|
|
2022-10-16 14:02:02 +02:00
|
|
|
func checkforconfigfolder() {
|
|
|
|
_, folder := os.Stat(data.GetHome() + "/.config")
|
2022-10-14 21:09:40 +02:00
|
|
|
if os.IsNotExist(folder) {
|
|
|
|
os.Mkdir(data.GetHome()+"/.config", os.ModePerm)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-09-09 10:45:27 +02:00
|
|
|
func handleConfig() {
|
2022-09-26 10:23:44 +02:00
|
|
|
_, folder := os.Stat(filepath.Dir(data.GetConfigFile()))
|
|
|
|
_, file := os.Stat(data.GetConfigFile())
|
2022-09-09 10:45:27 +02:00
|
|
|
if os.IsNotExist(folder) {
|
2022-09-26 10:23:44 +02:00
|
|
|
os.Mkdir(filepath.Dir(data.GetConfigFile()), os.ModePerm)
|
2022-09-09 10:45:27 +02:00
|
|
|
}
|
2022-10-14 10:43:33 +02:00
|
|
|
defaultconfig := "println green neOwOfetchh 🔥\ninfo white username\nprint blue @\ninfoln blue hostname\nprint white uptime: \ninfoln red uptime\nprint white shell: \ninfoln blue shell\nprint white distro: \ninfoln blue distro\nprint white terminal: \ninfoln blue terminal\nprint white memory: \ninfo blue memoryUsed\nprint white /\ninfoln blue memoryAll"
|
2022-09-09 10:45:27 +02:00
|
|
|
if os.IsNotExist(file) {
|
2022-09-26 10:23:44 +02:00
|
|
|
f, _ := os.Create(data.GetConfigFile())
|
2022-10-14 10:43:33 +02:00
|
|
|
_, _ = f.WriteString(defaultconfig)
|
2022-10-16 14:02:02 +02:00
|
|
|
}
|
|
|
|
body, _ := ioutil.ReadFile(data.GetConfigFile())
|
|
|
|
sbody := (string(body))
|
|
|
|
if utils.Defaultconf {
|
|
|
|
sbody = defaultconfig
|
|
|
|
}
|
|
|
|
fbody := strings.Split(sbody, "\n")
|
|
|
|
for _, line := range fbody {
|
|
|
|
word := strings.Split(line, " ")
|
|
|
|
if len(word) < 3 {
|
|
|
|
continue
|
2022-09-18 16:20:27 +02:00
|
|
|
}
|
2022-10-16 14:02:02 +02:00
|
|
|
action := word[0]
|
|
|
|
color := word[1]
|
|
|
|
rest := strings.Join(word[2:], " ")
|
|
|
|
handlePrint(action, color, rest)
|
2022-09-18 16:20:27 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-09-22 14:05:20 +02:00
|
|
|
func handlePrint(action, format string, rest string) {
|
2022-09-18 16:20:27 +02:00
|
|
|
if action == "print" {
|
2022-09-22 14:05:20 +02:00
|
|
|
utils.CutePrint(rest, format)
|
2022-09-18 16:20:27 +02:00
|
|
|
} else if action == "println" {
|
2022-09-22 14:05:20 +02:00
|
|
|
utils.CutePrint(rest, format)
|
|
|
|
utils.CuteNewLine()
|
2022-09-18 16:20:27 +02:00
|
|
|
} else if action == "info" || action == "infoln" {
|
|
|
|
switch rest {
|
|
|
|
case "distro":
|
2022-09-22 14:44:27 +02:00
|
|
|
utils.CutePrint(data.GetDistro(), format)
|
2022-09-18 16:20:27 +02:00
|
|
|
case "username":
|
2022-09-26 10:23:44 +02:00
|
|
|
utils.CutePrint(data.GetUsername(), format)
|
2022-09-18 16:20:27 +02:00
|
|
|
case "uptime":
|
2022-09-26 10:23:44 +02:00
|
|
|
no, _ := strconv.Atoi(data.GetUptime())
|
|
|
|
utils.CutePrint(data.FormatTime(no), format)
|
2022-09-18 16:20:27 +02:00
|
|
|
case "hostname":
|
2022-10-20 08:19:21 +02:00
|
|
|
utils.CutePrint(data.Unamebs("-n"), format)
|
|
|
|
case "kernelname":
|
|
|
|
utils.CutePrint(data.Unamebs("-s"), format)
|
2022-09-21 13:17:42 +02:00
|
|
|
case "GPU":
|
2022-09-26 10:23:44 +02:00
|
|
|
utils.CutePrint(data.GetGPU(), format)
|
2022-09-21 13:17:42 +02:00
|
|
|
case "shell":
|
2022-09-26 10:23:44 +02:00
|
|
|
utils.CutePrint(data.GetShell(), format)
|
2022-09-22 09:12:47 +02:00
|
|
|
case "terminal":
|
2022-09-26 10:23:44 +02:00
|
|
|
utils.CutePrint(data.GetTerminal(), format)
|
2022-09-22 09:12:47 +02:00
|
|
|
case "memoryAll":
|
2022-09-26 10:23:44 +02:00
|
|
|
utils.CutePrint(data.GetMemory(false), format)
|
2022-09-22 09:12:47 +02:00
|
|
|
case "memoryUsed":
|
2022-09-26 10:23:44 +02:00
|
|
|
utils.CutePrint(data.GetMemory(true), format)
|
2022-09-22 09:12:47 +02:00
|
|
|
default:
|
|
|
|
print("{UNKNOWN KEYWORD}")
|
2022-09-09 10:45:27 +02:00
|
|
|
}
|
2022-09-22 14:05:20 +02:00
|
|
|
if action == "infoln" {
|
|
|
|
utils.CuteNewLine()
|
2022-09-18 16:20:27 +02:00
|
|
|
}
|
|
|
|
}
|
2022-09-09 22:24:04 +02:00
|
|
|
}
|
2022-09-09 10:45:27 +02:00
|
|
|
|
2022-09-07 15:09:50 +02:00
|
|
|
func main() {
|
2022-10-16 14:02:02 +02:00
|
|
|
checkforconfigfolder()
|
2022-09-22 12:48:20 +02:00
|
|
|
utils.Initargs()
|
2022-09-23 11:03:50 +02:00
|
|
|
utils.Initcolor()
|
2022-09-22 14:44:27 +02:00
|
|
|
utils.CutePrintInit()
|
2022-09-09 10:45:27 +02:00
|
|
|
handleConfig()
|
2022-09-22 14:05:20 +02:00
|
|
|
utils.CutePrintEnd()
|
2022-09-07 15:09:50 +02:00
|
|
|
}
|