package main import ( "context" _ "embed" "github.com/wailsapp/wails/v2/pkg/options" "github.com/wailsapp/wails/v2/pkg/runtime" "strings" "github.com/tidwall/gjson" ) //go:embed wails.json var wailsJSON string var wailsContext *context.Context // App struct type App struct { ctx context.Context } // NewApp creates a new App application struct func NewApp() *App { return &App{} } // startup is called when the app starts. The context is saved // so we can call the runtime methods func (a *App) startup(ctx context.Context) { version := gjson.Get(wailsJSON, "info.productVersion") wailsContext = &ctx runtime.WindowSetTitle(ctx, "AniTrack "+version.String()) //runtime.WindowMaximise(ctx) } func (a *App) onSecondInstanceLaunch(secondInstanceData options.SecondInstanceData) { var secondInstanceArgs = secondInstanceData.Args println("user opened second instance", strings.Join(secondInstanceData.Args, ",")) println("user opened second from", secondInstanceData.WorkingDirectory) runtime.WindowUnminimise(*wailsContext) runtime.Show(*wailsContext) go runtime.EventsEmit(*wailsContext, "launchArgs", secondInstanceArgs) }