Files

62 lines
1.5 KiB
Go
Raw Permalink Normal View History

2023-03-18 08:11:36 +11:00
package main
import (
"embed"
2024-04-11 20:43:13 +10:00
"log/slog"
2023-07-21 08:24:38 +10:00
"os"
2024-04-11 20:43:13 +10:00
"plugin_demo/hashes"
2023-07-21 08:24:38 +10:00
2023-03-18 08:11:36 +11:00
"github.com/wailsapp/wails/v3/pkg/application"
2023-03-20 20:28:33 +11:00
"github.com/wailsapp/wails/v3/plugins/kvstore"
2023-03-22 20:56:45 +11:00
"github.com/wailsapp/wails/v3/plugins/log"
2023-04-01 20:36:55 +11:00
"github.com/wailsapp/wails/v3/plugins/single_instance"
2023-03-25 09:39:59 +11:00
"github.com/wailsapp/wails/v3/plugins/sqlite"
2023-04-05 21:22:02 +10:00
"github.com/wailsapp/wails/v3/plugins/start_at_login"
2023-03-18 08:11:36 +11:00
)
//go:embed assets/*
var assets embed.FS
func main() {
app := application.New(application.Options{
Name: "Plugin Demo",
Description: "A demo of the plugins API",
Mac: application.MacOptions{
ApplicationShouldTerminateAfterLastWindowClosed: true,
},
2024-04-11 20:43:13 +10:00
LogLevel: slog.LevelDebug,
2023-03-18 08:11:36 +11:00
Plugins: map[string]application.Plugin{
"hashes": hashes.NewPlugin(),
"log": log.NewPlugin(),
2023-04-05 21:22:02 +10:00
"sqlite": sqlite.NewPlugin(&sqlite.Config{
DBFile: "test.db",
}),
2023-03-20 20:28:33 +11:00
"kvstore": kvstore.NewPlugin(&kvstore.Config{
Filename: "store.json",
AutoSave: true,
}),
2023-04-01 20:36:55 +11:00
"single_instance": single_instance.NewPlugin(&single_instance.Config{
// When true, the original app will be activated when a second instance is launched
ActivateAppOnSubsequentLaunch: true,
}),
"start_at_login": start_at_login.NewPlugin(start_at_login.Config{}),
2023-03-18 08:11:36 +11:00
},
Assets: application.AssetOptions{
2024-03-26 21:11:35 +11:00
Handler: application.BundledAssetFileServer(assets),
2023-03-18 08:11:36 +11:00
},
})
app.NewWebviewWindowWithOptions(application.WebviewWindowOptions{
2024-04-11 20:43:13 +10:00
Width: 1024,
Height: 768,
})
2023-03-18 08:11:36 +11:00
err := app.Run()
if err != nil {
2023-03-22 20:56:45 +11:00
println(err.Error())
os.Exit(1)
2023-03-18 08:11:36 +11:00
}
}