main_screen

remove all DBUS handler,and in related plugins

wifi
use wpa-connect to do the connecting / scanning , use wpa_cli to do disconnect
This commit is contained in:
cuu 2021-10-10 00:20:47 +08:00
parent 0461450ea9
commit d463dd10ec
14 changed files with 274 additions and 195 deletions

View File

@ -16,7 +16,7 @@ import (
"github.com/cuu/gogame/color" "github.com/cuu/gogame/color"
"github.com/cuu/gogame/event" "github.com/cuu/gogame/event"
"github.com/cuu/gogame/time" "github.com/cuu/gogame/time"
"github.com/clockworkpi/LauncherGoDev/sysgo"
"github.com/clockworkpi/LauncherGoDev/sysgo/UI" "github.com/clockworkpi/LauncherGoDev/sysgo/UI"
) )
@ -292,8 +292,8 @@ func (self *GateWayPage) ApplyGateWay( gateway string ) bool {
} }
} }
}else { // wlan0 }else { // wlan0
if self.Screen.DBusManager.IsWifiConnectedNow() == true { if self.Screen.IsWifiConnectedNow() == true {
UI.System("sudo dhclient wlan0") UI.System(fmt.Sprintf("sudo dhclient %s",sysgo.WifiDev))
return true return true
}else { }else {
self.Screen.MsgBox.SetText("Wi-Fi is not connected") self.Screen.MsgBox.SetText("Wi-Fi is not connected")

View File

@ -231,7 +231,7 @@ func (self *UpdatePage) KeyDown(ev *event.Event) {
} }
if ev.Data["Key"] == UI.CurKeys["X"] { if ev.Data["Key"] == UI.CurKeys["X"] {
if self.Screen.DBusManager.IsWifiConnectedNow() == true { if self.Screen.IsWifiConnectedNow() == true {
if self.CheckUpdate() == true { if self.CheckUpdate() == true {
self.Screen.Draw() self.Screen.Draw()
self.Screen.SwapAndShow() self.Screen.SwapAndShow()

View File

@ -2,7 +2,7 @@ package Wifi
import ( import (
"fmt" "fmt"
"strconv" //"strconv"
//"strings" //"strings"
"github.com/veandco/go-sdl2/sdl" "github.com/veandco/go-sdl2/sdl"
@ -74,11 +74,11 @@ type NetItem struct {
ip string ip string
Encrypt string // WPA2 Encrypt string // WPA2
Channel string //'10' Channel string //'10'
Signal string // -67 Signal int16 // -67
Mode string // Master or AdHoc Mode string // Master or AdHoc
Parent *WifiList Parent *WifiList
IsActive bool IsActive bool
Password string Password string
Labels map[string]UI.LabelInterface Labels map[string]UI.LabelInterface
Icons map[string]UI.IconItemInterface Icons map[string]UI.IconItemInterface
Fonts map[string]*ttf.Font Fonts map[string]*ttf.Font
@ -103,9 +103,7 @@ func (self *NetItem) SetActive( act bool) {
self.IsActive = act self.IsActive = act
} }
func (self *NetItem) UpdateStrenLabel( sig_str string) { // ## sig_str should be 'number',eg:'-70' func (self *NetItem) UpdateStrenLabel() { // ## sig_str should be 'number',eg:'-70'
self.Signal = sig_str
if _, ok := self.Labels["stren"]; ok { if _, ok := self.Labels["stren"]; ok {
self.Labels["stren"].SetText( fmt.Sprintf("%d",self.CalcWifiQuality()) ) self.Labels["stren"].SetText( fmt.Sprintf("%d",self.CalcWifiQuality()) )
@ -132,19 +130,33 @@ func (self *NetItem) Init(is_active bool) {
essid_ := "" essid_ := ""
if len(self.Essid) > 19 { if len(self.Essid) > 19 {
essid_ = self.Essid[:20] essid_ = self.Essid[:20]
}else { }else {
essid_ = self.Essid essid_ = self.Essid
} }
essid_label.Init(essid_, self.FontObj,nil)
if len(essid_) == 0 {
essid_ = self.Bssid
}
if len(essid_) == 0 {
essid_ = EMPTY_NETWORK
}
//fmt.Println("essid: ",essid_, len(essid_))
essid_label.Init(essid_, self.FontObj,nil)
self.Labels["essid"] = essid_label self.Labels["essid"] = essid_label
stren_label := UI.NewLabel() stren_label := UI.NewLabel()
stren_label.CanvasHWND = self.Parent.GetCanvasHWND() stren_label.CanvasHWND = self.Parent.GetCanvasHWND()
stren_label.Init(self.Signal, self.FontObj,nil) stren_l := fmt.Sprintf("%%%d ",self.CalcWifiQuality())
if len(stren_l) == 0 {
stren_l = "%%0"
}
stren_label.Init(stren_l, self.FontObj,nil)
stren_label.PosX = self.Width - 23 - stren_label.Width-2 stren_label.PosX = self.Width - 23 - stren_label.Width-2
self.Labels["stren"] = stren_label self.Labels["stren"] = stren_label
@ -179,10 +191,7 @@ func (self *NetItem) Connect() {
func (self *NetItem) CalcWifiQuality() int { func (self *NetItem) CalcWifiQuality() int {
qua := 0 qua := 0
stren,err := strconv.ParseInt(self.Signal, 10, 0) qua = 2 * (int(self.Signal) + 100)
if err == nil {
qua = 2 * (int(stren) + 100)
}
return qua return qua
} }
@ -209,15 +218,15 @@ func (self *NetItem) CalcWifiStrength() int {
func (self *NetItem) Draw() { func (self *NetItem) Draw() {
for i,v := range self.Labels { for i,v := range self.Labels {
x_,_ := v.Coord() x_,_ := v.Coord()
_,h_ := v.Size() _,h_ := v.Size()
self.Labels[i].NewCoord(x_,self.PosY+(self.Height - h_)/2) self.Labels[i].NewCoord(x_,self.PosY+(self.Height - h_)/2)
self.Labels[i].Draw() self.Labels[i].Draw()
} }
if self.IsActive == true { if self.IsActive == true {
self.Icons["done"].NewCoord(14,self.PosY) self.Icons["done"].NewCoord(14,self.PosY)
self.Icons["done"].Draw() self.Icons["done"].Draw()
} }
/* /*
@ -231,17 +240,18 @@ func (self *NetItem) Draw() {
ge := self.CalcWifiStrength() ge := self.CalcWifiStrength()
if ge > 0 { if ge > 0 {
self.Icons["wifistatus"].SetIconIndex(ge) self.Icons["wifistatus"].SetIconIndex(ge)
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY) self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
self.Icons["wifistatus"].Draw() self.Icons["wifistatus"].Draw()
}else { }else {
self.Icons["wifistatus"].SetIconIndex(0) self.Icons["wifistatus"].SetIconIndex(0)
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY) self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
self.Icons["wifistatus"].Draw() self.Icons["wifistatus"].Draw()
} }
draw.Line(self.Parent.GetCanvasHWND(), draw.Line(self.Parent.GetCanvasHWND(),
&color.Color{169,169,169,255}, &color.Color{169,169,169,255},
self.PosX,self.PosY+self.Height-1, self.PosX,self.PosY+self.Height-1,
self.PosX+self.Width,self.PosY+self.Height-1, self.PosX+self.Width,self.PosY+self.Height-1,
1) 1)
} }

View File

@ -9,9 +9,13 @@ import (
"github.com/cuu/gogame/event" "github.com/cuu/gogame/event"
"github.com/cuu/gogame/rect" "github.com/cuu/gogame/rect"
"github.com/cuu/gogame/color" "github.com/cuu/gogame/color"
*/ */
"github.com/clockworkpi/LauncherGoDev/sysgo"
"github.com/clockworkpi/LauncherGoDev/sysgo/UI" "github.com/clockworkpi/LauncherGoDev/sysgo/UI"
//"github.com/clockworkpi/LauncherGoDev/sysgo/DBUS" //"github.com/clockworkpi/LauncherGoDev/sysgo/DBUS"
wifi "github.com/cuu/wpa-connect"
) )
/******************************************************************************/ /******************************************************************************/
@ -21,6 +25,11 @@ type WifiPlugin struct {
PasswordPage *UI.Keyboard PasswordPage *UI.Keyboard
} }
var (
GsScanManager = wifi.NewScanManager(sysgo.WifiDev)
GsConnectManager = wifi.NewConnectManager(sysgo.WifiDev)
)
func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) { func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) {

View File

@ -23,7 +23,7 @@ import (
"github.com/clockworkpi/LauncherGoDev/sysgo" "github.com/clockworkpi/LauncherGoDev/sysgo"
"github.com/clockworkpi/LauncherGoDev/sysgo/UI" "github.com/clockworkpi/LauncherGoDev/sysgo/UI"
wifi "github.com/mark2b/wpa-connect" wifi "github.com/cuu/wpa-connect"
) )
const EMPTY_NETWORK = "00:00:00:00:00:00" const EMPTY_NETWORK = "00:00:00:00:00:00"
@ -34,17 +34,17 @@ type WifiDisconnectConfirmPage struct {
} }
func cmdEnv() []string { func cmdEnv() []string {
return []string{"LANG=C", "LC_ALL=C"} return []string{"LANG=C", "LC_ALL=C"}
} }
func execCmd(cmdArgs []string) ([]byte, error) { func execCmd(cmdArgs []string) ([]byte, error) {
cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...) cmd := exec.Command(cmdArgs[0], cmdArgs[1:]...)
cmd.Env = append(os.Environ(), cmdEnv()...) cmd.Env = append(os.Environ(), cmdEnv()...)
out, err := cmd.Output() out, err := cmd.Output()
if err != nil { if err != nil {
err = fmt.Errorf(`failed to execute "%v" (%+v)`, strings.Join(cmdArgs, " "), err) err = fmt.Errorf(`failed to execute "%v" (%+v)`, strings.Join(cmdArgs, " "), err)
} }
return out, err return out, err
} }
@ -67,18 +67,18 @@ func (self *WifiDisconnectConfirmPage) KeyDown(ev *event.Event ) {
if ev.Data["Key"] == UI.CurKeys["B"] { if ev.Data["Key"] == UI.CurKeys["B"] {
fmt.Println("Disconnecting..") fmt.Println("Disconnecting..")
self.SnapMsg("Disconnecting...") self.SnapMsg("Disconnecting...")
self.Screen.Draw() self.Screen.Draw()
self.Screen.SwapAndShow() self.Screen.SwapAndShow()
self.Parent.Parent.Disconnect() self.Parent.Parent.Disconnect()
time.BlockDelay(400) time.BlockDelay(400)
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self.Screen.Draw() self.Screen.Draw()
self.Screen.SwapAndShow() self.Screen.SwapAndShow()
self.Parent.Parent.Rescan(false)
} }
} }
@ -88,8 +88,8 @@ type WifiInfoPage struct {
Bss *wifi.BSS Bss *wifi.BSS
AList map[string]map[string]string AList map[string]map[string]string
NetworkId string ESSID string
BSSID string
MyList []UI.ListItemInterface MyList []UI.ListItemInterface
DisconnectConfirmPage *WifiDisconnectConfirmPage //child page DisconnectConfirmPage *WifiDisconnectConfirmPage //child page
@ -104,34 +104,30 @@ func NewWifiInfoPage() *WifiInfoPage {
p.AList = make(map[string]map[string]string) p.AList = make(map[string]map[string]string)
p.NetworkId = EMPTY_NETWORK p.BSSID = ""
p.ESSID = ""
return p return p
} }
func (self *WifiInfoPage) GetWirelessIP() string {
return "0.0.0.0"
}
func (self *WifiInfoPage) GenList() { func (self *WifiInfoPage) GenList() {
var cur_network_id string
self.MyList = nil self.MyList = nil
self.MyList = make([]UI.ListItemInterface,0) self.MyList = make([]UI.ListItemInterface,0)
cur_network_id = EMPTY_NETWORK if self.BSSID != "" {
if self.NetworkId != EMPTY_NETWORK {
self.AList["ip"]["value"] = "Not Connected" self.AList["ip"]["value"] = "Not Connected"
if cur_network_id == self.NetworkId { if self.BSSID == self.Parent.CurBssid {
var ip string var ip string
ip = self.GetWirelessIP() ip = self.Parent.GetWirelessIP()
if len(ip) > 0 { if len(ip) > 0 {
self.AList["ip"]["value"]=ip self.AList["ip"]["value"]=ip
} }
} }else {
fmt.Println(self.BSSID)
}
self.AList["bssid"]["value"] = self.Parent.CurBssid self.AList["ssid"]["value"] = self.ESSID
} }
start_x := 0 start_x := 0
@ -182,15 +178,13 @@ func (self *WifiInfoPage) Init() {
ip["label"] = "IP" ip["label"] = "IP"
ip["value"] = "Not Connected" ip["value"] = "Not Connected"
bssid := make(map[string]string) // bssid = {} ssid := make(map[string]string) // ssid = {}
bssid["key"] = "bssid" ssid["key"] = "ssid"
bssid["label"] = "BSSID" ssid["label"] = "SSID"
bssid["value"] = "" ssid["value"] = ""
self.AList["ip"] = ip self.AList["ip"] = ip
self.AList["bssid"] = bssid self.AList["ssid"] = ssid
self.GenList()
self.DisconnectConfirmPage = NewWifiDisconnectConfirmPage() self.DisconnectConfirmPage = NewWifiDisconnectConfirmPage()
self.DisconnectConfirmPage.Screen = self.Screen self.DisconnectConfirmPage.Screen = self.Screen
@ -281,8 +275,8 @@ func (self *WifiInfoPage) OnLoadCb() {
func (self *WifiInfoPage) OnReturnBackCb() { func (self *WifiInfoPage) OnReturnBackCb() {
self.ReturnToUpLevelPage() self.ReturnToUpLevelPage()
self.Screen.Draw() self.Screen.Draw()
self.Screen.SwapAndShow() self.Screen.SwapAndShow()
} }
@ -414,7 +408,8 @@ type WifiList struct{
InfoPage *WifiInfoPage InfoPage *WifiInfoPage
MyList []*NetItem MyList []*NetItem
CurBssid string CurEssid string ///SomeWifi
CurBssid string //00:00:00:00:00:00
CurIP string CurIP string
CurSig string CurSig string
} }
@ -438,43 +433,52 @@ func (self *WifiList) ShowBox(msg string ) {
func (self *WifiList) HideBox() { func (self *WifiList) HideBox() {
self.Draw() self.Draw()
self.ShowingMessageBox = false self.ShowingMessageBox = false
self.Screen.SwapAndShow() self.Screen.SwapAndShow()
} }
func (self *WifiList) GenNetworkList() { func (self *WifiList) GenNetworkList() {
self.MyList = nil self.MyList = self.MyList[:0]
self.MyList = make([]*NetItem,0)
start_x := 0 start_x := 0
start_y := 0 start_y := 0
var is_active bool var is_active bool
var li_idx int var li_idx int
li_idx = 0 li_idx = 0
self.WifiScanStarted()
if bssList, err := wifi.ScanManager.Scan(); err == nil { self.WifiScanStarted()
if bssList, err := GsScanManager.Scan(); err == nil {
self.CurEssid = GsScanManager.GetCurrentSSID()
self.CurBssid = GsScanManager.GetCurrentBSSID()
for _, bss := range bssList { for _, bss := range bssList {
is_active = false is_active = false
print(bss.SSID, bss.Signal, bss.KeyMgmt) fmt.Println(bss.SSID, " ", bss.BSSID," ",bss.Signal, bss.KeyMgmt)
ni := NewNetItem() ni := NewNetItem()
ni.Parent = self ni.Parent = self
ni.PosX = start_x ni.PosX = start_x
ni.PosY = start_y + li_idx* NetItemDefaultHeight ni.PosY = start_y + li_idx* NetItemDefaultHeight
ni.Width = UI.Width ni.Width = UI.Width
ni.FontObj = self.ListFontObj ni.FontObj = self.ListFontObj
ni.Essid = bss.SSID ni.Essid = bss.SSID
ni.Bssid = bss.BSSID ni.Bssid = bss.BSSID
ni.Init(is_active) ni.Signal = bss.Signal
self.MyList = append(self.MyList,ni)
if self.CurBssid == ni.Bssid {
is_active = true
}
ni.Init(is_active)
self.MyList = append(self.MyList,ni)
li_idx++ li_idx++
} }
} }
self.WifiScanFinished() self.WifiScanFinished()
self.PsIndex = 0 self.PsIndex = 0
@ -482,10 +486,16 @@ func (self *WifiList) GenNetworkList() {
func (self *WifiList) Disconnect() { func (self *WifiList) Disconnect() {
self.Connecting = false self.Connecting = false
wpa_cli_disconnect := []string{"wpa_cli","disconnect",self.CurBssid}
//out, err := execCmd(getVolumeCmd()) wpa_cli_disconnect := []string{"wpa_cli","disconnect",self.CurEssid,"-i",sysgo.WifiDev}
execCmd( wpa_cli_disconnect ) execCmd( wpa_cli_disconnect )
fmt.Println(wpa_cli_disconnect)
dhcp_release := []string{"dhclient","-r",sysgo.WifiDev}
execCmd(dhcp_release)
self.CurEssid = ""
self.CurBssid = ""
} }
@ -508,8 +518,6 @@ func (self *WifiList) WifiScanFinished() {
self.ResetPageSelector() self.ResetPageSelector()
self.UpdateNetList(-1,[]string{}, true,false)
self.Scanning= false self.Scanning= false
self.HideBox() self.HideBox()
@ -544,42 +552,65 @@ func (self *WifiList) UpdateNetList(state int,info []string ,force_check bool,fi
} }
func (self *WifiList) UpdateListActive() {
for i:=0;i<len(self.MyList);i++ {
if self.MyList[i].Bssid == self.CurBssid {
self.MyList[i].IsActive = true
}else {
self.MyList[i].IsActive = false
}
}
}
func (self *WifiList) ConfigWireless(password string) { func (self *WifiList) ConfigWireless(password string) {
ssid := self.MyList[self.PsIndex].Essid ssid := self.MyList[self.PsIndex].Essid
fmt.Println(ssid)
fmt.Println(password)
self.ShowBox("Connecting...") self.ShowBox("Connecting...")
if conn, err := wifi.ConnectManager.Connect(ssid, password, gotime.Second * 20); err == nil { self.Connecting = true
fmt.Println("Connected", conn.NetInterface, conn.SSID, conn.IP4.String(), conn.IP6.String())
self.CurBssid = self.MyList[self.PsIndex].Bssid if conn, err := GsConnectManager.Connect(ssid, password, gotime.Second * 20); err == nil {
fmt.Println("Connected!", conn.NetInterface, conn.SSID, conn.IP4.String(), conn.IP6.String())
self.CurEssid = self.MyList[self.PsIndex].Essid
self.CurBssid = self.MyList[self.PsIndex].Bssid
self.MyList[self.PsIndex].Password = password self.MyList[self.PsIndex].Password = password
self.CurIP = conn.IP4.String(); dhcp := []string{"dhclient" ,sysgo.WifiDev}
execCmd(dhcp)
GsConnectManager.ReadNetAddress(gotime.Second*3)
self.CurIP = GsConnectManager.IPv4().String()
self.ShowBox("Connected")
} else { } else {
fmt.Println(err) err_str := err.Error()
s := strings.Split(err_str,":")
if len(s)> 1 && s[1] == "15" {
self.ShowBox("Wifi auth error")
}else {
self.ShowBox(err_str)
}
self.CurEssid = ""
self.CurBssid = ""
} }
self.Connecting = false
//self.UpdateStatus() self.UpdateListActive()
} }
func (self *WifiList) GetWirelessIP() string { func (self *WifiList) GetWirelessIP() string {
cli := fmt.Sprintf( "ip -4 addr show %s | grep -oP '(?<=inet\\s)\\d+(\\.\\d+){3}'",sysgo.WifiDev) cli := fmt.Sprintf( "ip -4 addr show %s | grep -oP '(?<=inet\\s)\\d+(\\.\\d+){3}'",sysgo.WifiDev)
out := UI.System(cli) out := UI.System(cli)
if len(out) > 5 {
out = strings.TrimSuffix(out,"\n")
}
return out return out
} }
func (self *WifiList) GetWirelessEncrypt(network_id int) []map[string]string {
return nil
}
func (self *WifiList) ScrollUp() { func (self *WifiList) ScrollUp() {
if len(self.MyList) == 0 { if len(self.MyList) == 0 {
return return
@ -627,25 +658,26 @@ func (self *WifiList) AbortedAndReturnToUpLevel() {
func (self *WifiList) OnKbdReturnBackCb() { func (self *WifiList) OnKbdReturnBackCb() {
password_inputed := strings.Join(APIOBJ.PasswordPage.Textarea.MyWords,"") password_inputed := strings.Join(APIOBJ.PasswordPage.Textarea.MyWords,"")
if self.Screen.DBusManager.IsWifiConnectedNow() == false { fmt.Println("Password inputed: ",password_inputed)
self.ConfigWireless(password_inputed) ip := self.GetWirelessIP()
} if len(ip) < 6 {
self.ConfigWireless(password_inputed)
}
} }
func (self *WifiList) OnReturnBackCb() { func (self *WifiList) OnReturnBackCb() {
//fmt.Println("return back")
} }
func (self *WifiList) KeyDown( ev *event.Event ) { func (self *WifiList) KeyDown( ev *event.Event ) {
if ev.Data["Key"] == UI.CurKeys["A"] || ev.Data["Key"] == UI.CurKeys["Menu"] { if ev.Data["Key"] == UI.CurKeys["A"] || ev.Data["Key"] == UI.CurKeys["Menu"] {
self.ShutDownConnecting() //self.ShutDownConnecting()
self.ShowBox("ShutDownConnecting...") //self.ShowBox("ShutDownConnecting...")
self.AbortedAndReturnToUpLevel() self.AbortedAndReturnToUpLevel()
} }
if ev.Data["Key"] == UI.CurKeys["Up"] { if ev.Data["Key"] == UI.CurKeys["Up"] {
self.ScrollUp() self.ScrollUp()
self.Screen.Draw() self.Screen.Draw()
@ -662,8 +694,6 @@ func (self *WifiList) KeyDown( ev *event.Event ) {
if len(self.MyList) == 0 { if len(self.MyList) == 0 {
return return
} }
self.CurBssid = self.MyList[self.PsIndex].Bssid
if self.MyList[self.PsIndex].IsActive == true { if self.MyList[self.PsIndex].IsActive == true {
var ip string var ip string
ip = self.GetWirelessIP() ip = self.GetWirelessIP()
@ -691,15 +721,25 @@ func (self *WifiList) KeyDown( ev *event.Event ) {
if len(self.MyList) == 0 { if len(self.MyList) == 0 {
return return
} }
self.InfoPage.BSSID = self.MyList[self.PsIndex].Bssid
self.InfoPage.ESSID = self.MyList[self.PsIndex].Essid
self.Screen.PushPage(self.InfoPage) self.Screen.PushPage(self.InfoPage)
self.Screen.Draw() self.Screen.Draw()
self.Screen.SwapAndShow() self.Screen.SwapAndShow()
} }
} }
func (self *WifiList) OnLoadCb() {
ip := self.GetWirelessIP()
if len(ip) < 6 {
self.CurEssid = ""
self.CurBssid = ""
self.CurIP = ip
}
self.Rescan(false)
}
func (self *WifiList) Init() { func (self *WifiList) Init() {
@ -738,19 +778,17 @@ func (self *WifiList) Init() {
}, },
*/ */
self.UpdateNetList(-1,[]string{}, true,true) // self.UpdateNetList(force_check=True,firstrun=True) self.Scroller = UI.NewListScroller()
self.Scroller.Parent = self
self.Scroller.PosX = 2
self.Scroller.PosY = 2
self.Scroller.Init()
self.Scroller = UI.NewListScroller() self.InfoPage = NewWifiInfoPage()
self.Scroller.Parent = self self.InfoPage.Screen = self.Screen
self.Scroller.PosX = 2 self.InfoPage.Name = "Wifi info"
self.Scroller.PosY = 2 self.InfoPage.Parent = self
self.Scroller.Init() self.InfoPage.Init()
self.InfoPage = NewWifiInfoPage()
self.InfoPage.Screen = self.Screen
self.InfoPage.Name = "Wifi info"
self.InfoPage.Init()
} }

View File

@ -96,8 +96,8 @@ func (self *TinyCloudPage) SetCoords() {
} }
func (self *TinyCloudPage) SetLabels() { func (self *TinyCloudPage) SetLabels() {
if self.Screen.DBusManager.IsWifiConnectedNow() { if self.Screen.IsWifiConnectedNow() {
self.IP = self.Screen.DBusManager.GetWifiIP() self.IP = self.Screen.GetWirelessIP()
fmt.Printf("TinyCould : %s\n",self.IP) fmt.Printf("TinyCould : %s\n",self.IP)
}else { }else {
self.IP = "xxx.xxx.xxx.xxx" self.IP = "xxx.xxx.xxx.xxx"
@ -179,7 +179,7 @@ func (self *TinyCloudPage) KeyDown( ev *event.Event ) {
func (self *TinyCloudPage) Draw() { func (self *TinyCloudPage) Draw() {
self.ClearCanvas() self.ClearCanvas()
if self.Screen.DBusManager.IsWifiConnectedNow() { if self.Screen.IsWifiConnectedNow() {
self.Icons["online"].NewCoord(self.Coords["online"].X, self.Coords["online"].Y) self.Icons["online"].NewCoord(self.Coords["online"].X, self.Coords["online"].Y)
self.Icons["online"].Draw() self.Icons["online"].Draw()

13
go.mod
View File

@ -3,27 +3,26 @@ module github.com/clockworkpi/LauncherGoDev
go 1.17 go 1.17
require ( require (
github.com/cuu/gogame v0.0.0-20190505155707-d04617ab9826 github.com/cuu/gogame v0.0.0-20211009161157-9fc102a958ec
github.com/cuu/grab v2.0.0+incompatible github.com/cuu/grab v2.0.0+incompatible
github.com/cuu/wpa-connect v1.5.4
github.com/fatih/structs v1.1.0 github.com/fatih/structs v1.1.0
github.com/go-ini/ini v1.63.2 github.com/go-ini/ini v1.63.2
github.com/godbus/dbus v4.1.0+incompatible github.com/godbus/dbus v4.1.0+incompatible
github.com/godbus/dbus/v5 v5.0.5
github.com/itchyny/volume-go v0.2.1 github.com/itchyny/volume-go v0.2.1
github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/go-homedir v1.1.0
github.com/muka/go-bluetooth v0.0.0-20210812063148-b6c83362e27d github.com/muka/go-bluetooth v0.0.0-20210812063148-b6c83362e27d
github.com/sirupsen/logrus v1.8.1
github.com/veandco/go-sdl2 v0.4.10 github.com/veandco/go-sdl2 v0.4.10
github.com/vjeantet/jodaTime v1.0.0 github.com/vjeantet/jodaTime v1.0.0
github.com/yookoala/realpath v1.0.0 github.com/yookoala/realpath v1.0.0
) )
require ( require (
github.com/go-ole/go-ole v1.2.4 // indirect github.com/go-ole/go-ole v1.2.5 // indirect
github.com/godbus/dbus/v5 v5.0.3 // indirect
github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect
github.com/mark2b/wpa-connect v1.5.1 // indirect
github.com/moutend/go-wca v0.2.0 // indirect github.com/moutend/go-wca v0.2.0 // indirect
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 // indirect github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 // indirect
github.com/pkg/errors v0.9.1 // indirect github.com/pkg/errors v0.9.1 // indirect
github.com/sirupsen/logrus v1.6.0 // indirect golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac // indirect
golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634 // indirect
) )

29
go.sum
View File

@ -1,9 +1,9 @@
github.com/ThomasRooney/gexpect v0.0.0-20161231170123-5482f0350944/go.mod h1:sPML5WwI6oxLRLPuuqbtoOKhtmpVDCYtwsps+I+vjIY= github.com/cuu/gogame v0.0.0-20211009161157-9fc102a958ec h1:0nBshSvDcFFRNlWCfCkRte1SfhhKxsdK2SeWBHgmLVg=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/cuu/gogame v0.0.0-20211009161157-9fc102a958ec/go.mod h1:1ZGiLH+shrG0St33RrS7HWw8aTUezakhQcM/uzvjUiA=
github.com/cuu/gogame v0.0.0-20190505155707-d04617ab9826 h1:B+Oxj2/n+1coaS1IIZFzF++vENubxaXMSS7O2YqZCbY=
github.com/cuu/gogame v0.0.0-20190505155707-d04617ab9826/go.mod h1:gCpgs2cddW1XU/owVN8IeY6PhPOsvj2qhXFduLhSgDc=
github.com/cuu/grab v2.0.0+incompatible h1:iXzIujTt9fYkjw63Tlxyxw1ohvabE59jWgkzI4LUY6E= github.com/cuu/grab v2.0.0+incompatible h1:iXzIujTt9fYkjw63Tlxyxw1ohvabE59jWgkzI4LUY6E=
github.com/cuu/grab v2.0.0+incompatible/go.mod h1:FQIc8xU5/Uw5lfVeVv4hrrclKgc+6c0ALOYVaTS+R20= github.com/cuu/grab v2.0.0+incompatible/go.mod h1:FQIc8xU5/Uw5lfVeVv4hrrclKgc+6c0ALOYVaTS+R20=
github.com/cuu/wpa-connect v1.5.4 h1:pn9Gi34OSaYuFjrlG+hXUQ2GZHcP2hy5lqk0kSL3VXQ=
github.com/cuu/wpa-connect v1.5.4/go.mod h1:X3+tS25MlSHYD7cSXB/95CvOXcAFi3cPDWNk/VhOCvE=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@ -11,23 +11,20 @@ github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
github.com/go-ini/ini v1.63.2 h1:kwN3umicd2HF3Tgvap4um1ZG52/WyKT9GGdPx0CJk6Y= github.com/go-ini/ini v1.63.2 h1:kwN3umicd2HF3Tgvap4um1ZG52/WyKT9GGdPx0CJk6Y=
github.com/go-ini/ini v1.63.2/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-ini/ini v1.63.2/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
github.com/go-ole/go-ole v1.2.4 h1:nNBDSCOigTSiarFpYE9J/KtEA1IOW4CNeqT9TQDqCxI=
github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM= github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNIwKuxM=
github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY=
github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/godbus/dbus v4.1.0+incompatible h1:WqqLRTsQic3apZUK9qC5sGNfXthmPXzUZ7nQPrNITa4= github.com/godbus/dbus v4.1.0+incompatible h1:WqqLRTsQic3apZUK9qC5sGNfXthmPXzUZ7nQPrNITa4=
github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
github.com/godbus/dbus/v5 v5.0.3 h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=
github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/godbus/dbus/v5 v5.0.5 h1:9Eg0XUhQxtkV8ykTMKtMMYY72g4NgxtRq4jgh4Ih5YM=
github.com/godbus/dbus/v5 v5.0.5/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/itchyny/volume-go v0.2.1 h1:NiVdnIp3dyCBnygQoBLV9ecAk7Vk4KHfiZFJGvCCIm0= github.com/itchyny/volume-go v0.2.1 h1:NiVdnIp3dyCBnygQoBLV9ecAk7Vk4KHfiZFJGvCCIm0=
github.com/itchyny/volume-go v0.2.1/go.mod h1:YdvjyTIcPXyGcckaIHTfga+ItdhGZQoWhzOORajlkkE= github.com/itchyny/volume-go v0.2.1/go.mod h1:YdvjyTIcPXyGcckaIHTfga+ItdhGZQoWhzOORajlkkE=
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/mark2b/wpa-connect v1.5.1 h1:12DNKNSpO1qIonJF+B3/RwXZ9KAKfd0rXI6ZzBFcW/o=
github.com/mark2b/wpa-connect v1.5.1/go.mod h1:+6ScBO6AMHe+Q78CyfYumz0/XPBvMS1wAYeStDEUjRo=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/moutend/go-wca v0.2.0 h1:AEzY6ltC5zPCldKyMYdyXv3TaLqwxSW1TIradqNqRpU= github.com/moutend/go-wca v0.2.0 h1:AEzY6ltC5zPCldKyMYdyXv3TaLqwxSW1TIradqNqRpU=
@ -42,8 +39,9 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
github.com/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
@ -71,11 +69,12 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1 h1:sIky/MyNRSHTrdxfsiUSS4WIAMvInbeXljJz+jDjeYE=
golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634 h1:bNEHhJCnrwMKNMmOx3yAynp5vs5/gRy+XWFtZFu7NBM= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac h1:oN6lz7iLW/YC7un8pq+9bOLyXrprv2+DKfkJY+2LJJw=
golang.org/x/sys v0.0.0-20201009025420-dfb3f7c4e634/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200925191224-5d1fdd8fa346/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20200925191224-5d1fdd8fa346/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU=

View File

@ -199,7 +199,7 @@ func (self *DownloadProcessPage) DoneAndReturnUpLevel() {
func (self *DownloadProcessPage) StartDownload(_url,dst_dir string) { func (self *DownloadProcessPage) StartDownload(_url,dst_dir string) {
if self.Screen.DBusManager.IsWifiConnectedNow() == false { if self.Screen.IsWifiConnectedNow() == false {
return return
} }
@ -245,7 +245,7 @@ func (self *DownloadProcessPage) Draw() {
self.ClearCanvas() self.ClearCanvas()
if self.Screen.DBusManager.IsWifiConnectedNow() == false { if self.Screen.IsWifiConnectedNow() == false {
self.Icons["needwifi_bg"].NewCoord(self.Width/2,self.Height/2) self.Icons["needwifi_bg"].NewCoord(self.Width/2,self.Height/2)
self.Icons["needwifi_bg"].Draw() self.Icons["needwifi_bg"].Draw()
return return

View File

@ -109,7 +109,9 @@ func (self *Label) DrawCenter(bold bool) { // default bold is false
func (self *Label) Draw() { func (self *Label) Draw() {
font.SetBold(self.FontObj,self.Bold) // avoing same font tangling set_bold to others font.SetBold(self.FontObj,self.Bold) // avoing same font tangling set_bold to others
if len(self.Text) == 0 {
return
}
my_text := font.Render(self.FontObj,self.Text, true, self.Color, nil) my_text := font.Render(self.FontObj,self.Text, true, self.Color, nil)
rect_ := rect.Rect(self.PosX,self.PosY,self.Width,self.Height) rect_ := rect.Rect(self.PosX,self.PosY,self.Width,self.Height)

View File

@ -1,7 +1,7 @@
package UI package UI
import ( import (
//"fmt" "fmt"
"io/ioutil" "io/ioutil"
"strings" "strings"
"log" "log"
@ -21,9 +21,7 @@ import (
"github.com/cuu/gogame/event" "github.com/cuu/gogame/event"
"github.com/clockworkpi/LauncherGoDev/sysgo/DBUS" "github.com/clockworkpi/LauncherGoDev/sysgo"
) )
//eg: MainScreen //eg: MainScreen
type ScreenInterface interface { type ScreenInterface interface {
@ -44,6 +42,7 @@ type ScreenInterface interface {
RunEXE( cmdpath string) RunEXE( cmdpath string)
SetCurPage( pg PageInterface) SetCurPage( pg PageInterface)
SwapAndShow() SwapAndShow()
IsWifiConnectedNow()
} }
type PluginConfig struct { type PluginConfig struct {
@ -175,7 +174,7 @@ type MainScreen struct {
MsgBoxFont *ttf.Font MsgBoxFont *ttf.Font
IconFont *ttf.Font IconFont *ttf.Font
SkinManager *SkinManager SkinManager *SkinManager
DBusManager *DBUS.DBus
CounterScreen *CounterScreen CounterScreen *CounterScreen
Closed bool Closed bool
@ -210,8 +209,6 @@ func (self *MainScreen) Init() {
self.SkinManager = NewSkinManager() self.SkinManager = NewSkinManager()
self.SkinManager.Init() self.SkinManager.Init()
self.DBusManager = DBUS.DBusHandler
self.CounterScreen = NewCounterScreen() self.CounterScreen = NewCounterScreen()
self.CounterScreen.HWND = self.HWND self.CounterScreen.HWND = self.HWND
self.CounterScreen.Init() self.CounterScreen.Init()
@ -354,6 +351,27 @@ func (self *MainScreen) IsEmulatorPackage(dirname string ) bool {
return ret return ret
} }
func (self *MainScreen) IsWifiConnectedNow() bool {
cli := fmt.Sprintf( "ip -4 addr show %s | grep -oP '(?<=inet\\s)\\d+(\\.\\d+){3}'",sysgo.WifiDev)
out := System(cli)
if len(out)<6 {
return false
}
return true
}
func (self *MainScreen) GetWirelessIP() string {
cli := fmt.Sprintf( "ip -4 addr show %s | grep -oP '(?<=inet\\s)\\d+(\\.\\d+){3}'",sysgo.WifiDev)
out := System(cli)
if len(out) > 5 {
out = strings.TrimSuffix(out,"\n")
}
return out
}
func (self *MainScreen) RunEXE( cmdpath string) { func (self *MainScreen) RunEXE( cmdpath string) {
self.DrawRun() self.DrawRun()
self.SwapAndShow() self.SwapAndShow()

View File

@ -826,7 +826,7 @@ func (self *Page) ReturnToUpLevelPage() {
if pop_page != nil { if pop_page != nil {
page_ := pop_page.(PageInterface) page_ := pop_page.(PageInterface)
page_.Draw() page_.Draw()
self.Screen.SetCurPage(page_) self.Screen.CurrentPage = page_
self.Screen.CurrentPage.OnReturnBackCb() self.Screen.CurrentPage.OnReturnBackCb()
}else { }else {

View File

@ -194,10 +194,13 @@ func (t *TitleBar) GetWifiStrength() int {
out := System(cli) out := System(cli)
if(len(out) > 2) { if(len(out) > 2) {
if strings.Contains(out,"No") == false { if strings.Contains(out,"No") == false {
out = strings.TrimSuffix(out, "\n")
stren,err := strconv.ParseInt(out, 10, 0) stren,err := strconv.ParseInt(out, 10, 0)
if err == nil { if err == nil {
qua = 2 * (int(stren) + 100) qua = 2 * (int(stren) + 100)
} }else {
fmt.Println(err)
}
} }
} }
@ -513,6 +516,7 @@ func (self *TitleBar) Draw(title string) {
self.Icons["wifistatus"].Draw() self.Icons["wifistatus"].Draw()
}else { }else {
self.Icons["wifistatus"].SetIconIndex(0) self.Icons["wifistatus"].SetIconIndex(0)
self.Icons["wifistatus"].NewCoord(start_x+self.IconWidth+5, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2 )
self.Icons["wifistatus"].Draw() self.Icons["wifistatus"].Draw()
} }
}else { }else {

View File

@ -9,8 +9,8 @@ type PowerLevel struct {
var PowerLevels map[string]*PowerLevel var PowerLevels map[string]*PowerLevel
var ( var (
//CurKeySet = "PC" // PC or GameShell CurKeySet = "PC" // PC or GameShell
CurKeySet = "GameShell" //CurKeySet = "GameShell"
DontLeave = false DontLeave = false
BackLight = "/proc/driver/backlight" BackLight = "/proc/driver/backlight"
Battery = "/sys/class/power_supply/axp20x-battery/uevent" Battery = "/sys/class/power_supply/axp20x-battery/uevent"
@ -25,13 +25,13 @@ var (
//load from dot files //load from dot files
CurPowerLevel= "performance" CurPowerLevel= "performance"
Lang = "English" Lang = "English"
WifiDev = "wlan0" //WifiDev = "wlan0"
WifiDev = "wlp5s0"
) )
func init() { func init() {
if PowerLevels == nil { if PowerLevels == nil {
PowerLevels = make(map[string]*PowerLevel) PowerLevels = make(map[string]*PowerLevel)