Files
LinuxPA/main.go
T

132 lines
2.2 KiB
Go

package main
import (
"encoding/gob"
"fmt"
"os"
"github.com/CalebQ42/LinuxPA/appimg"
"github.com/gotk3/gotk3/gtk"
)
const (
version = "2.1.4.1"
)
var (
master map[string][]app
linmaster map[string][]app
cats []string
lin []string
wine bool
comEnbld bool
wineAvail bool
portableHide bool
betaUpdate bool
versionNewest = true
paDirs = true
)
func main() {
_, err := appimg.GetDesktopFile("gimp.AppImage")
if err == nil {
os.Rename("/tmp/my.desktop", "PortableApps/stuff.desktop")
} else {
println("error:", err)
}
// forced := flag.Bool("force-update", false, "Force the update dialog to be shown")
// flag.Parse()
// os.MkdirAll("PortableApps/LinuxPACom", 0777)
// master = make(map[string][]app)
// linmaster = make(map[string][]app)
// uiStart(*forced)
}
func uiStart(forced bool) {
gtk.Init(nil)
setup()
win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
if err != nil {
fmt.Println("Window not created", err)
}
win.SetTitle("LinuxPA")
win.Connect("destroy", func() {
savePrefs()
gtk.MainQuit()
})
win.SetDefaultSize(500, 500)
win.SetPosition(gtk.WIN_POS_CENTER)
ui(win)
win.ShowAll()
win.Show()
update(win, forced)
gtk.Main()
}
func savePrefs() {
os.Remove("PortableApps/LinuxPACom/Prefs.gob")
fil, err := os.Create("PortableApps/LinuxPACom/Prefs.gob")
if err != nil {
return
}
enc := gob.NewEncoder(fil)
err = enc.Encode(wine)
if err != nil {
return
}
err = enc.Encode(portableHide)
if err != nil {
return
}
err = enc.Encode(versionNewest)
if err != nil {
return
}
err = enc.Encode(paDirs)
if err != nil {
return
}
err = enc.Encode(betaUpdate)
if err != nil {
return
}
}
func loadPrefs() {
fil, err := os.Open("PortableApps/LinuxPACom/Prefs.gob")
if err != nil {
return
}
dec := gob.NewDecoder(fil)
err = dec.Decode(&wine)
if err != nil {
return
}
err = dec.Decode(&portableHide)
if err != nil {
return
}
err = dec.Decode(&versionNewest)
if err != nil {
return
}
err = dec.Decode(&paDirs)
if err != nil {
return
}
err = dec.Decode(&betaUpdate)
if err != nil {
return
}
}
func contains(arr []string, str string) bool {
for _, v := range arr {
if v == str {
return true
}
}
return false
}