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.1.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: 28, G: 28, B: 28, A: 1}, Frameless: true, OnStartup: app.startup, OnShutdown: app.shutdown, DragAndDrop: &options.DragAndDrop{ EnableFileDrop: true, DisableWebViewDrop: false, }, Windows: &windows.Options{ WebviewIsTransparent: false, WindowIsTranslucent: false, DisableFramelessWindowDecorations: true, Theme: windows.Dark, CustomTheme: &windows.ThemeSettings{ DarkModeTitleBar: windows.RGB(37, 37, 37), DarkModeTitleText: windows.RGB(212, 212, 212), DarkModeBorder: windows.RGB(56, 56, 56), }, }, Bind: []interface{}{ app, }, }) if err != nil { println("Error:", err.Error()) } }