anitrack/app.go

46 lines
1.1 KiB
Go
Raw Permalink Normal View History

2024-07-09 10:16:53 -04:00
package main
import (
"context"
_ "embed"
2024-09-07 22:35:51 -04:00
"github.com/wailsapp/wails/v2/pkg/options"
"github.com/wailsapp/wails/v2/pkg/runtime"
"strings"
"github.com/tidwall/gjson"
2024-07-09 10:16:53 -04:00
)
//go:embed wails.json
var wailsJSON string
2024-09-07 22:35:51 -04:00
var wailsContext *context.Context
2024-07-09 10:16:53 -04:00
// 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")
2024-09-07 22:35:51 -04:00
wailsContext = &ctx
runtime.WindowSetTitle(ctx, "AniTrack "+version.String())
2024-08-13 18:54:27 -04:00
//runtime.WindowMaximise(ctx)
2024-07-09 10:16:53 -04:00
}
2024-09-07 22:35:51 -04:00
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)
}