tray.go 725 B

123456789101112131415161718192021222324252627282930313233
  1. package tray
  2. import (
  3. "fmt"
  4. "runtime"
  5. "github.com/ollama/ollama/app/assets"
  6. "github.com/ollama/ollama/app/tray/commontray"
  7. )
  8. func NewTray() (commontray.OllamaTray, error) {
  9. extension := ".png"
  10. if runtime.GOOS == "windows" {
  11. extension = ".ico"
  12. }
  13. iconName := commontray.UpdateIconName + extension
  14. updateIcon, err := assets.GetIcon(iconName)
  15. if err != nil {
  16. return nil, fmt.Errorf("failed to load icon %s: %w", iconName, err)
  17. }
  18. iconName = commontray.IconName + extension
  19. icon, err := assets.GetIcon(iconName)
  20. if err != nil {
  21. return nil, fmt.Errorf("failed to load icon %s: %w", iconName, err)
  22. }
  23. tray, err := InitPlatformTray(icon, updateIcon)
  24. if err != nil {
  25. return nil, err
  26. }
  27. return tray, nil
  28. }