package sysgo import ( "fmt" "github.com/go-ini/ini" "os" ) type PowerLevel struct { Dim int Close int PowerOff int } var PowerLevels map[string]*PowerLevel var ( //CurKeySet = "PC" // PC or GameShell CurKeySet = "GameShell" DontLeave = false BackLight = "/proc/driver/backlight" Battery = "/sys/class/power_supply/axp20x-battery/uevent" MPD_socket = "/tmp/mpd.socket" UPDATE_URL = "https://raw.githubusercontent.com/clockworkpi/CPI/master/launchergo_ver_2023.json" VERSION = "0.23" SKIN = "skin/default/" // !!!need the last slash!!! //load from dot files CurPowerLevel = "performance" Lang = "English" WifiDev = "wlan0" Aria2Url = "ws://localhost:6800/jsonrpc" SQLDB = "foo.db" //Sqlite3 ) func init() { if PowerLevels == nil { PowerLevels = make(map[string]*PowerLevel) PowerLevels["supersaving"] = &PowerLevel{10, 30, 120} PowerLevels["powersaving"] = &PowerLevel{40, 120, 300} PowerLevels["server"] = &PowerLevel{40, 120, 0} PowerLevels["performance"] = &PowerLevel{40, 0, 0} } //sudo LauncherGoDev=1 ./launchergo # for develop code on PC dev_mode := os.Getenv("LauncherGoDev") if len(dev_mode) < 1 { return } if _, err := os.Stat("app-local.ini"); err == nil { load_opts := ini.LoadOptions{ IgnoreInlineComment: true, } cfg, err := ini.LoadSources(load_opts, "app-local.ini") if err != nil { fmt.Printf("Fail to read file: %v\n", err) return } section := cfg.Section("GameShell") if section != nil { gs_opts := section.KeyStrings() for i, v := range gs_opts { fmt.Println(i, v, section.Key(v).String()) switch v { case "WifiDev": WifiDev = section.Key(v).String() case "CurKeySet": CurKeySet = section.Key(v).String() } } } } }