package main import ( _ "embed" "strings" "github.com/tidwall/gjson" "github.com/wailsapp/wails/v3/pkg/application" ) //go:embed wails.json var wailsJSON string // App struct type App struct { app *application.App } // NewApp creates a new App application struct func NewApp(app *application.App) *App { return &App{app: app} } // appVersion reads the product version from wails.json. func appVersion() string { return gjson.Get(wailsJSON, "info.productVersion").String() } // appTitle is the window title: "AniTrack ". func appTitle() string { return "AniTrack " + appVersion() } func (a *App) onSecondInstanceLaunch(data application.SecondInstanceData) { println("user opened second instance", strings.Join(data.Args, ",")) println("user opened second from", data.WorkingDir) if w := a.app.Window.Current(); w != nil { w.Restore() w.Focus() } go a.app.Event.Emit("launchArgs", data.Args) } func (a *App) ShowVersion() { a.app.Dialog.Info(). SetTitle("Version"). SetMessage("AniTrack Version: " + appVersion()). Show() }