diff --git a/README.md b/README.md index af4e270..915c72a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,9 @@ forge is a GUI front end for 'git' designed with the intent of simplifying federated git development. -FORGE NEVER DOES ANYTHING BUT EXEC's 'git' +## Install: + +* go install go.wit.com/apps/forge@latest ## Theory @@ -20,6 +22,10 @@ FORGE NEVER DOES ANYTHING BUT EXEC's 'git' b) A "devel" branch that is published c) a "user" branch that can be local only to the developer +## Development Goals + +* have a GUI that also works on the command line + ## Notes This can be used to maintain git repositories @@ -31,14 +37,6 @@ expiremental work on federated git * uses a GUI or the console(console display needs work) * always wrap around 'git' -- it basically just types 'git' commands really fast -## Development Goals - -* have a GUI that also works on the command line - -## Install: - -* go install go.wit.com/apps/forge@latest - ## building from sources ``` diff --git a/doGui.go b/doGui.go index 1bc8660..579903f 100644 --- a/doGui.go +++ b/doGui.go @@ -11,6 +11,7 @@ import ( "time" "go.wit.com/gui" + "go.wit.com/lib/fhelp" "go.wit.com/lib/gadgets" "go.wit.com/lib/gui/shell" "go.wit.com/lib/protobuf/gitpb" @@ -75,9 +76,20 @@ func doGui() { me.myGui = gui.New() me.myGui.InitEmbed(resources) me.myGui.SetAppDefaultPlugin(me.forge.Config.DefaultGui) // sets the default GUI plugin to use - me.myGui.Default() + if pname, err := me.myGui.Default(); err != nil { + if !fhelp.BuildPlugin("gocui") { + log.Info("You can't run the forge GUI since the plugins did not build", pname) + okExit("") + } else { + if err := me.myGui.LoadToolkitNew("gocui"); err != nil { + log.Info("The plugins built, but still failed to load", pname) + badExit(err) + } + log.Info("The plugins built and loaded!", pname) + } + } - mainWindow := gadgets.NewGenericWindow("Forge: (this kinda works sometimes)", "Current Settings") + mainWindow := gadgets.NewGenericWindow("Forge: A federated git development tool by WIT.COM", "Current Settings") mainWindow.Custom = func() { log.Warn("MAIN WINDOW CLOSE") now := time.Now() @@ -87,7 +99,7 @@ func doGui() { me.forge.ConfigSave() } log.Printf("rill repos.Reload() took (%s)\n", shell.FormatDuration(time.Since(now))) - os.Exit(0) + okExit("") } drawWindow(mainWindow)