try to remove wicd related commponent

This commit is contained in:
cuu 2021-10-03 23:04:53 +08:00
parent ca89651302
commit b4680f1a3e
6 changed files with 530 additions and 894 deletions

View File

@ -21,7 +21,6 @@ import (
*/
"github.com/clockworkpi/LauncherGoDev/sysgo/UI"
//"github.com/clockworkpi/LauncherGoDev/sysgo/DBUS"
log "github.com/sirupsen/logrus"
)

View File

@ -3,17 +3,16 @@ package Wifi
import (
"fmt"
"strconv"
"strings"
//"strings"
"github.com/veandco/go-sdl2/sdl"
"github.com/veandco/go-sdl2/ttf"
"github.com/veandco/go-sdl2/sdl"
"github.com/veandco/go-sdl2/ttf"
"github.com/cuu/gogame/color"
"github.com/cuu/gogame/draw"
"github.com/cuu/gogame/rect"
"github.com/cuu/gogame/surface"
"github.com/clockworkpi/LauncherGoDev/sysgo/UI"
"github.com/cuu/gogame/draw"
"github.com/cuu/gogame/rect"
"github.com/cuu/gogame/surface"
"github.com/clockworkpi/LauncherGoDev/sysgo/UI"
"github.com/clockworkpi/LauncherGoDev/sysgo/DBUS"
)
var NetItemDefaultHeight = 30
@ -25,14 +24,14 @@ type NetItemMultiIcon struct {
}
func NewNetItemMultiIcon() *NetItemMultiIcon{
p := &NetItemMultiIcon{}
p.IconIndex = 0
p.IconWidth = 18
p.IconHeight = 18
p := &NetItemMultiIcon{}
p.IconIndex = 0
p.IconWidth = 18
p.IconHeight = 18
p.Width = 18
p.Height = 18
return p
return p
}
func (self *NetItemMultiIcon) Draw() {
@ -72,44 +71,24 @@ type NetItem struct {
Bssid string //eg: 50:3A:A0:51:18:3C
Essid string //eg: MERCURY_EB88
dhcphostname string //"GameShell"
ip string
dns_domain string
gateway string
use_global_dns int // eg 0==False,1 == True
netmask string
usedhcphostname int
bitrate string //"auto"
dns3 string
dns2 string
dns1 string
use_settings_globally int // 0
use_static_dns int //eg: 1== True
search_domain string
Encrypt string // WPA2
Channel string //'10'
Stren string // 19%
NetId int
Signal string // -67
Mode string // Master or AdHoc
Parent *WifiList
IsActive bool
Password string
Labels map[string]UI.LabelInterface
Icons map[string]UI.IconItemInterface
Fonts map[string]*ttf.Font
FontObj *ttf.Font
Wireless *DBUS.DbusInterface
Daemon *DBUS.DbusInterface
}
func NewNetItem() *NetItem {
p := &NetItem{}
p.NetId = 0
p.bitrate = "auto"
p.dhcphostname = "GameShell"
p.Height = NetItemDefaultHeight
@ -124,165 +103,145 @@ func (self *NetItem) SetActive( act bool) {
self.IsActive = act
}
func (self *NetItem) UpdateStrenLabel( strenstr string) { // ## strenstr should be 'number',eg:'90'
self.Stren = strenstr
func (self *NetItem) UpdateStrenLabel( sig_str string) { // ## sig_str should be 'number',eg:'-70'
self.Signal = sig_str
if _, ok := self.Labels["stren"]; ok {
self.Labels["stren"].SetText(self.Stren)
self.Labels["stren"].SetText( fmt.Sprintf("%d",self.CalcWifiQuality()) )
}
}
func (self *NetItem) Init(i int,is_active bool) {
func (self *NetItem) Init(is_active bool) {
var sig_display_type int
strenstr := "quality"
gap := 4
//strenstr := "quality"
//gap := 7
the_main_screen := self.Parent.GetScreen()
self.Wireless = self.Parent.Wireless
self.Daemon = self.Parent.Daemon
self.Daemon.Get( self.Daemon.Method("GetSignalDisplayType"), &sig_display_type )
if sig_display_type == 0 {
strenstr = "quality"
gap = 4 // Allow for 100%
}else {
strenstr = "strength"
gap = 7 // -XX dbm = 7
}
self.NetId = i
tmp := 0
self.Wireless.Get(self.Wireless.Method("GetWirelessProperty",self.NetId, strenstr),&tmp)
tmp2 := ""
self.Daemon.Get( self.Daemon.Method("FormatSignalForPrinting",tmp), &tmp2)
self.Stren = tmp2
if is_active {
self.SetActive(is_active)
}
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"essid"),&self.Essid)
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"bssid"),&self.Bssid)
check_enc := false
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"encryption"),&check_enc)
essid_label := UI.NewLabel()
essid_label.PosX = 36
essid_label.CanvasHWND = self.Parent.GetCanvasHWND()
if check_enc == true {
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"encryption_method"),&self.Encrypt)
}else {
self.Encrypt = "Unsecured"
}
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"mode"),&self.Mode)
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"channel"),&self.Channel)
theString := fmt.Sprintf(" %-*s %25s %9s %17s %6s %4s",gap,self.Stren,self.Essid,self.Encrypt,self.Bssid,self.Mode,
self.Channel)
if is_active {
theString = ">> " + theString[1:]
self.SetActive(is_active)
}
//fmt.Println(theString)
essid_label := UI.NewLabel()
essid_label.PosX = 36
essid_label.CanvasHWND = self.Parent.GetCanvasHWND()
essid_ := ""
essid_ := ""
if len(self.Essid) > 19 {
essid_ = self.Essid[:20]
}else {
essid_ = self.Essid
}
if len(self.Essid) > 19 {
essid_ = self.Essid[:20]
}else {
essid_ = self.Essid
}
essid_label.Init(essid_, self.FontObj,nil)
essid_label.Init(essid_, self.FontObj,nil)
self.Labels["essid"] = essid_label
self.Labels["essid"] = essid_label
stren_label := UI.NewLabel()
stren_label.CanvasHWND = self.Parent.GetCanvasHWND()
stren_label := UI.NewLabel()
stren_label.CanvasHWND = self.Parent.GetCanvasHWND()
stren_label.Init(self.Stren, self.FontObj,nil)
stren_label.PosX = self.Width - 23 - stren_label.Width-2
stren_label.Init(self.Signal, self.FontObj,nil)
stren_label.PosX = self.Width - 23 - stren_label.Width-2
self.Labels["stren"] = stren_label
self.Labels["stren"] = stren_label
lock_icon := NewNetItemIcon()
lock_icon.ImgSurf = UI.MyIconPool.GetImgSurf("lock")
lock_icon.CanvasHWND = self.Parent.GetCanvasHWND()
lock_icon.Parent = self // WidgetInterface
self.Icons["lock"] = lock_icon
lock_icon := NewNetItemIcon()
lock_icon.ImgSurf = UI.MyIconPool.GetImgSurf("lock")
lock_icon.CanvasHWND = self.Parent.GetCanvasHWND()
lock_icon.Parent = self // WidgetInterface
self.Icons["lock"] = lock_icon
done_icon := NewNetItemIcon()
done_icon.ImgSurf = UI.MyIconPool.GetImgSurf("done")
done_icon.CanvasHWND = self.Parent.GetCanvasHWND()
done_icon.Parent = self
done_icon := NewNetItemIcon()
done_icon.ImgSurf = UI.MyIconPool.GetImgSurf("done")
done_icon.CanvasHWND = self.Parent.GetCanvasHWND()
done_icon.Parent = self
self.Icons["done"] = done_icon
self.Icons["done"] = done_icon
nimt := NewNetItemMultiIcon()
nimt.ImgSurf = the_main_screen.TitleBar.Icons["wifistatus"].GetImgSurf()
nimt.CanvasHWND = self.Parent.GetCanvasHWND()
nimt.Parent = self // WidgetInterface
nimt := NewNetItemMultiIcon()
nimt.ImgSurf = the_main_screen.TitleBar.Icons["wifistatus"].GetImgSurf()
nimt.CanvasHWND = self.Parent.GetCanvasHWND()
nimt.Parent = self // WidgetInterface
self.Icons["wifistatus"] = nimt
self.Icons["wifistatus"] = nimt
}
func (self *NetItem) Connect() {
self.Wireless.Method("ConnectWireless",self.NetId)
}
func (self *NetItem) Draw() {
for i,v := range self.Labels {
x_,_ := v.Coord()
_,h_ := v.Size()
self.Labels[i].NewCoord(x_,self.PosY+(self.Height - h_)/2)
self.Labels[i].Draw()
}
func (self *NetItem) CalcWifiQuality() int {
if self.IsActive == true {
self.Icons["done"].NewCoord(14,self.PosY)
self.Icons["done"].Draw()
}
if self.Encrypt != "Unsecured" {
w_,_ := self.Labels["stren"].Size()
self.Icons["lock"].NewCoord(self.Width -23 - w_ -2 - 18, self.PosY)
self.Icons["lock"].Draw()
}
stren_int,err := strconv.ParseInt(strings.Replace(self.Stren,"%","",-1),10,64)
if err == nil {
the_main_screen := self.Parent.GetScreen()
ge := the_main_screen.TitleBar.GetWifiStrength(int(stren_int))
if ge > 0 {
self.Icons["wifistatus"].SetIconIndex(ge)
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
self.Icons["wifistatus"].Draw()
}else {
self.Icons["wifistatus"].SetIconIndex(0)
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
self.Icons["wifistatus"].Draw()
}
}
draw.Line(self.Parent.GetCanvasHWND(),
&color.Color{169,169,169,255},
self.PosX,self.PosY+self.Height-1,
self.PosX+self.Width,self.PosY+self.Height-1,
1)
qua := 0
stren,err := strconv.ParseInt(self.Signal, 10, 0)
if err == nil {
qua = 2 * (int(stren) + 100)
}
return qua
}
func (self *NetItem) CalcWifiStrength() int {
segs := [][]int{ []int{-2,-1}, []int{0,25}, []int{25,50}, []int{50,75},[]int{75,100}}
stren_number := self.CalcWifiQuality()
ge := 0
if stren_number == 0 {
return ge
}
for i,v := range segs {
if stren_number >= v[0] && stren_number <= v[1] {
ge = i
break
}
}
return ge
}
func (self *NetItem) Draw() {
for i,v := range self.Labels {
x_,_ := v.Coord()
_,h_ := v.Size()
self.Labels[i].NewCoord(x_,self.PosY+(self.Height - h_)/2)
self.Labels[i].Draw()
}
if self.IsActive == true {
self.Icons["done"].NewCoord(14,self.PosY)
self.Icons["done"].Draw()
}
/*
if self.Encrypt != "Unsecured" {
w_,_ := self.Labels["stren"].Size()
self.Icons["lock"].NewCoord(self.Width -23 - w_ -2 - 18, self.PosY)
self.Icons["lock"].Draw()
}
*/
//the_main_screen := self.Parent.GetScreen()
ge := self.CalcWifiStrength()
if ge > 0 {
self.Icons["wifistatus"].SetIconIndex(ge)
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
self.Icons["wifistatus"].Draw()
}else {
self.Icons["wifistatus"].SetIconIndex(0)
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
self.Icons["wifistatus"].Draw()
}
draw.Line(self.Parent.GetCanvasHWND(),
&color.Color{169,169,169,255},
self.PosX,self.PosY+self.Height-1,
self.PosX+self.Width,self.PosY+self.Height-1,
1)
}

View File

@ -1,7 +1,7 @@
package Wifi
import (
gotime "time"
//gotime "time"
/*
"github.com/veandco/go-sdl2/ttf"
@ -31,8 +31,6 @@ func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) {
self.ScanPage = NewWifiList()
self.ScanPage.Name = "Scan wifi"
self.ScanPage.Wireless = main_screen.DBusManager.Wifi
self.ScanPage.Daemon = main_screen.DBusManager.Daemon
self.ScanPage.Screen = main_screen
@ -40,33 +38,15 @@ func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) {
self.ScanPage.Init()
go func() {
gotime.Sleep(2000 * gotime.Millisecond)
if self.ScanPage.Daemon != nil {
self.ScanPage.Daemon.EnableSignal("StatusChanged")
self.ScanPage.Daemon.EnableSignal("ConnectResultsSent")
self.ScanPage.Wireless.EnableSignal("SendStartScanSignal")
self.ScanPage.Wireless.EnableSignal("SendEndScanSignal")
self.ScanPage.Daemon.SigFuncs["StatusChanged"] = self.ScanPage.DbusDaemonStatusChangedSig
self.ScanPage.Daemon.SigFuncs["ConnectResultSent"] = self.ScanPage.DbusConnectResultsSent
self.ScanPage.Wireless.SigFuncs["SendStartScanSignal"] = self.ScanPage.WifiDbusScanStarted
self.ScanPage.Wireless.SigFuncs["SendEndScanSignal"] = self.ScanPage.WifiDbusScanFinishedSig
}
}()
}
func (self *WifiPlugin) Run( main_screen *UI.MainScreen ) {
if main_screen != nil {
if main_screen != nil {
main_screen.PushCurPage()
main_screen.SetCurPage(self.ScanPage)
main_screen.Draw()
main_screen.SwapAndShow()
}
main_screen.Draw()
main_screen.SwapAndShow()
}
}
var APIOBJ WifiPlugin

File diff suppressed because it is too large Load Diff

View File

@ -7,8 +7,8 @@ import (
"strconv"
"bufio"
"strings"
"os/exec"
"io/ioutil"
"os/exec"
"io/ioutil"
gotime "time"
"github.com/veandco/go-sdl2/sdl"
@ -21,8 +21,6 @@ import (
"github.com/itchyny/volume-go"
"github.com/vjeantet/jodaTime"
"github.com/clockworkpi/LauncherGoDev/sysgo/DBUS"
"github.com/clockworkpi/LauncherGoDev/sysgo"
@ -91,29 +89,28 @@ func (self *TitleBarIconItem) Draw() {
type TitleBar struct {
Widget
BarHeight int
LOffset int
ROffset int
Icons map[string]IconItemInterface
IconWidth int
IconHeight int
BorderWidth int
CanvasHWND *sdl.Surface
HWND *sdl.Surface
Title string
BarHeight int
LOffset int
ROffset int
Icons map[string]IconItemInterface
IconWidth int
IconHeight int
BorderWidth int
CanvasHWND *sdl.Surface
HWND *sdl.Surface
Title string
InLowBackLight int
InLowBackLight int
InAirPlaneMode bool
SkinManager *SkinManager //set by MainScreen
DBusManager DBUS.DBusInterface
SkinManager *SkinManager //set by MainScreen
icon_base_path string /// SkinMap("gameshell/titlebar_icons/")
icon_base_path string /// SkinMap("gameshell/titlebar_icons/")
MyTimeLocation *gotime.Location
TitleFont *ttf.Font
TimeFont *ttf.Font
TitleFont *ttf.Font
TimeFont *ttf.Font
}
@ -172,13 +169,40 @@ func (self *TitleBar) RoundRobinCheck() {
}
}
func (self *TitleBar) 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) > 7) {
if strings.Contains(out,"not") {
return false
}else {
return true
}
}
return false
}
func (self *TitleBar) UpdateWifiStrength() {
self.Draw(self.Title)
}
func (t *TitleBar) GetWifiStrength(stren int) int {
func (t *TitleBar) GetWifiStrength() int {
qua := 0
cli := fmt.Sprintf("iwconfig %s | grep Signal | /usr/bin/awk '{print $4}' | /usr/bin/cut -d'=' -f2",sysgo.WifiDev)
out := System(cli)
if(len(out) > 2) {
if strings.Contains(out,"No") == false {
stren,err := strconv.ParseInt(out, 10, 0)
if err == nil {
qua = 2 * (int(stren) + 100)
}
}
}
segs := [][]int{ []int{-2,-1}, []int{0,25}, []int{25,50}, []int{50,75},[]int{75,100}}
stren_number := stren
stren_number := qua
ge := 0
if stren_number == 0 {
return ge
@ -297,7 +321,7 @@ func (self *TitleBar) CheckBatteryStat() {
}
func (self *TitleBar) SetBatteryStat( bat int) {
}
func (self *TitleBar) CheckBluetooth() {
@ -327,7 +351,6 @@ func (self *TitleBar) Init(main_screen *MainScreen) {
self.CanvasHWND = surface.Surface(self.Width,self.Height)
self.HWND = main_screen.HWND
self.SkinManager = main_screen.SkinManager
self.DBusManager = main_screen.DBusManager
icon_wifi_status := NewTitleBarIconItem()
@ -396,9 +419,8 @@ func (self *TitleBar) Init(main_screen *MainScreen) {
self.Icons["round_corners"] = round_corners
if self.DBusManager.IsWifiConnectedNow() {
if self.IsWifiConnectedNow() {
print("wifi is connected")
print( self.DBusManager.WifiStrength())
}else {
cmd := "sudo rfkill list | grep yes | cut -d \" \" -f3" //make sure sudo rfkill needs no password
@ -482,8 +504,8 @@ func (self *TitleBar) Draw(title string) {
self.Icons["sound"].NewCoord( start_x, self.IconHeight/2+ (self.BarHeight-self.IconHeight)/2)
self.Icons["battery"].NewCoord(start_x+self.IconWidth+self.IconWidth+8, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2)
if self.DBusManager.IsWifiConnectedNow() == true {
ge := self.GetWifiStrength( self.DBusManager.WifiStrength() )
if self.IsWifiConnectedNow() == true {
ge := self.GetWifiStrength()
//fmt.Println("wifi ge: ",ge)
if ge > 0 {
self.Icons["wifistatus"].SetIconIndex(ge)

View File

@ -9,21 +9,23 @@ type PowerLevel struct {
var PowerLevels map[string]*PowerLevel
var (
CurKeySet = "GameShell" // PC or GameShell
DontLeave = false
BackLight = "/proc/driver/backlight"
Battery = "/sys/class/power_supply/axp20x-battery/uevent"
MPD_socket = "/tmp/mpd.socket"
CurKeySet = "GameShell" // PC or 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.json"
VERSION="0.22"
SKIN="skin/default/" // !!!need the last slash!!!
SKIN="skin/default/" // !!!need the last slash!!!
//load from dot files
CurPowerLevel= "performance"
Lang = "English"
WifiDev = "wlan0"
)