config.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. package sysgo
  2. import (
  3. "fmt"
  4. "github.com/go-ini/ini"
  5. "os"
  6. )
  7. type PowerLevel struct {
  8. Dim int
  9. Close int
  10. PowerOff int
  11. }
  12. var PowerLevels map[string]*PowerLevel
  13. var (
  14. //CurKeySet = "PC" // PC or GameShell
  15. CurKeySet = "GameShell"
  16. DontLeave = false
  17. BackLight = "/proc/driver/backlight"
  18. Battery = "/sys/class/power_supply/axp20x-battery/uevent"
  19. MPD_socket = "/tmp/mpd.socket"
  20. UPDATE_URL = "https://raw.githubusercontent.com/clockworkpi/CPI/master/launchergo_ver_2023.json"
  21. VERSION = "0.23"
  22. SKIN = "skin/default/" // !!!need the last slash!!!
  23. //load from dot files
  24. CurPowerLevel = "performance"
  25. Lang = "English"
  26. WifiDev = "wlan0"
  27. Aria2Url = "ws://localhost:6800/jsonrpc"
  28. SQLDB = "foo.db" //Sqlite3
  29. )
  30. func init() {
  31. if PowerLevels == nil {
  32. PowerLevels = make(map[string]*PowerLevel)
  33. PowerLevels["supersaving"] = &PowerLevel{10, 30, 120}
  34. PowerLevels["powersaving"] = &PowerLevel{40, 120, 300}
  35. PowerLevels["server"] = &PowerLevel{40, 120, 0}
  36. PowerLevels["performance"] = &PowerLevel{40, 0, 0}
  37. }
  38. //sudo LauncherGoDev=1 ./launchergo # for develop code on PC
  39. dev_mode := os.Getenv("LauncherGoDev")
  40. if len(dev_mode) < 1 {
  41. return
  42. }
  43. if _, err := os.Stat("app-local.ini"); err == nil {
  44. load_opts := ini.LoadOptions{
  45. IgnoreInlineComment: true,
  46. }
  47. cfg, err := ini.LoadSources(load_opts, "app-local.ini")
  48. if err != nil {
  49. fmt.Printf("Fail to read file: %v\n", err)
  50. return
  51. }
  52. section := cfg.Section("GameShell")
  53. if section != nil {
  54. gs_opts := section.KeyStrings()
  55. for i, v := range gs_opts {
  56. fmt.Println(i, v, section.Key(v).String())
  57. switch v {
  58. case "WifiDev":
  59. WifiDev = section.Key(v).String()
  60. case "CurKeySet":
  61. CurKeySet = section.Key(v).String()
  62. }
  63. }
  64. }
  65. }
  66. }