No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

50 líneas
1.1 KiB

  1. package main
  2. import (
  3. "fmt"
  4. "image"
  5. _ "image/png"
  6. "os"
  7. "path/filepath"
  8. "strings"
  9. "github.com/go-flutter-desktop/go-flutter"
  10. "github.com/pkg/errors"
  11. )
  12. // vmArguments may be set by hover at compile-time
  13. var vmArguments string
  14. func main() {
  15. // DO NOT EDIT, add options in options.go
  16. mainOptions := []flutter.Option{
  17. flutter.OptionVMArguments(strings.Split(vmArguments, ";")),
  18. flutter.WindowIcon(iconProvider),
  19. }
  20. err := flutter.Run(append(options, mainOptions...)...)
  21. if err != nil {
  22. fmt.Println(err)
  23. os.Exit(1)
  24. }
  25. }
  26. func iconProvider() ([]image.Image, error) {
  27. execPath, err := os.Executable()
  28. if err != nil {
  29. return nil, errors.Wrap(err, "failed to resolve executable path")
  30. }
  31. execPath, err = filepath.EvalSymlinks(execPath)
  32. if err != nil {
  33. return nil, errors.Wrap(err, "failed to eval symlinks for executable path")
  34. }
  35. imgFile, err := os.Open(filepath.Join(filepath.Dir(execPath), "assets", "icon.png"))
  36. if err != nil {
  37. return nil, errors.Wrap(err, "failed to open assets/icon.png")
  38. }
  39. img, _, err := image.Decode(imgFile)
  40. if err != nil {
  41. return nil, errors.Wrap(err, "failed to decode image")
  42. }
  43. return []image.Image{img}, nil
  44. }