69 lines
1.5 KiB
Go
69 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"embed"
|
|
"flag"
|
|
"os"
|
|
|
|
"github.com/wailsapp/wails/v2"
|
|
"github.com/wailsapp/wails/v2/pkg/options"
|
|
"github.com/wailsapp/wails/v2/pkg/options/assetserver"
|
|
"github.com/wailsapp/wails/v2/pkg/options/windows"
|
|
)
|
|
|
|
// Version is injected at build time via -ldflags "-X main.Version=..."
|
|
var Version = "2.0.0-dev"
|
|
|
|
//go:embed all:frontend/dist
|
|
var assets embed.FS
|
|
|
|
func parseInitialFile(args []string) string {
|
|
fs := flag.NewFlagSet("convert", flag.ContinueOnError)
|
|
var input string
|
|
var debug bool
|
|
fs.StringVar(&input, "i", "", "input video path")
|
|
fs.BoolVar(&debug, "debug", false, "debug flag (ignored in GUI)")
|
|
_ = fs.Parse(args)
|
|
if input != "" {
|
|
return input
|
|
}
|
|
if fs.NArg() > 0 {
|
|
return fs.Arg(0)
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func main() {
|
|
initialFile := parseInitialFile(os.Args[1:])
|
|
app := NewApp(initialFile)
|
|
|
|
err := wails.Run(&options.App{
|
|
Title: "ConvertGUI",
|
|
Width: 1240,
|
|
Height: 840,
|
|
MinWidth: 980,
|
|
MinHeight: 680,
|
|
AssetServer: &assetserver.Options{
|
|
Assets: assets,
|
|
},
|
|
BackgroundColour: &options.RGBA{R: 13, G: 17, B: 23, A: 1},
|
|
OnStartup: app.startup,
|
|
OnShutdown: app.shutdown,
|
|
DragAndDrop: &options.DragAndDrop{
|
|
EnableFileDrop: true,
|
|
DisableWebViewDrop: false,
|
|
},
|
|
Windows: &windows.Options{
|
|
WebviewIsTransparent: false,
|
|
WindowIsTranslucent: false,
|
|
Theme: windows.Dark,
|
|
},
|
|
Bind: []interface{}{
|
|
app,
|
|
},
|
|
})
|
|
if err != nil {
|
|
println("Error:", err.Error())
|
|
}
|
|
}
|