wit-new-machine/window-main.go

96 lines
2.3 KiB
Go

package main
import (
"log"
"time"
"os"
"io/ioutil"
"git.wit.org/wit/gui"
)
var myGui *gui.Node
var mainWindow *gui.Node
func initGUI() {
myGui = gui.New().LoadToolkit("gocui")
mainWindow = myGui.NewWindow("wit new machine setup").SetText("wit new machine setup")
mainWindow.Custom = customExit
mainTab(mainWindow)
}
func customExit() {
log.Println("Should Exit Here")
// window := gui.Data.WindowMap["Debugging2"]
// spew.Dump(window)
time.Sleep(2 * time.Second)
log.Println("")
log.Println("CLEAN EXIT")
log.Println("")
os.Exit(0)
}
var xtermHold *gui.Node
var padding *gui.Node
var firefox *gui.Node
var resolv *gui.Node
func mainTab(n *gui.Node) {
var g *gui.Node
newTab := n.NewTab("mainTab")
//////////////////// General GUI debugging /////////////////////////
g = newTab.NewGroup("Debug")
padding = g.NewCheckbox("padding")
xtermHold = g.NewCheckbox("xterm -hold")
firefox = g.NewCheckbox("Use Firefox")
g.NewLabel("resolv.conf")
resolv = g.NewTextbox("resolv")
resolv.Dump(true)
resolv.SetText("hello world\nfoo bar\n")
/////////////////////////////////////////////////////////////////////////////
rn := newTab.NewGroup("Local Linux Settings")
rn.NewButton("apt sources", func () {
xterm("cd ~/jcarr/setup; make setup-apt-sources; make setup-apt-file")
})
rn.NewButton("purge rc-only", func () {
xterm("cd ~/jcarr/setup; make reset-purge-rc-only-packages")
})
rn.NewButton("install defaults", func () {
xterm("cd ~/jcarr/setup; make setup-packages-default")
})
rn.NewButton("install kvm", func () {
xterm("cd ~/jcarr/setup; make setup-packages-kvm")
})
rn.NewButton("ttyS0", func () {
myGui.CloseToolkit("gocui")
// systemctl enable serial-getty@ttyS0.service
// cp ttyS0.conf /etc/init/
foo := []byte(ttyS0)
ioutil.WriteFile("/etc/init.d/ttyS0", foo, 0644)
doCmd("ls -l")
doCmd("cat /etc/init.d/ttyS0")
doCmd("systemctl enable serial-getty@ttyS0.service")
doCmd("service serial-getty@ttyS0 start")
os.Exit(0)
})
rn.NewButton("git config", func () {
myGui.CloseToolkit("gocui")
doCmd("git config pull.rebase false")
os.Exit(0)
})
rn.NewLabel("Not yet working stuff")
rn.NewButton("resolv.conf", func () {
s := resolv.GetText()
log.Println("supposed to make the resolv.conf window\n\n", s)
})
}