2024-07-09 10:16:53 -04:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2024-09-07 22:35:51 -04:00
|
|
|
"github.com/wailsapp/wails/v2/pkg/options"
|
|
|
|
"github.com/wailsapp/wails/v2/pkg/runtime"
|
|
|
|
"strings"
|
2024-07-09 10:16:53 -04:00
|
|
|
)
|
|
|
|
|
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) {
|
2024-09-07 22:35:51 -04:00
|
|
|
wailsContext = &ctx
|
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)
|
|
|
|
}
|