func (c *fireflyClient) configureSystray() { icon, err := c.fs.Get("icons/24.ico") if err != nil { log.Fatalf("Unable to load icon for system tray: %s", err) } systray.SetIcon(icon) systray.SetTooltip("Firefly") c.systrayItems = fireflyMenu{ settings: systray.AddMenuItem(i18n.T("TRAY_SETTINGS"), ""), quit: systray.AddMenuItem(i18n.T("TRAY_QUIT"), ""), } go func() { for { select { case <-c.systrayItems.settings.ClickedCh: c.ui.show() case <-c.systrayItems.quit.ClickedCh: c.exit(nil) return } } }() }
func promptPrivilegeEscalation(icon []byte) error { var iconFile string if runtime.GOOS == "darwin" { iconFile = filepath.Join("/tmp", "escalatelantern.ico") err := filepersist.Save(iconFile, icon, 0644) if err != nil { return fmt.Errorf("Unable to persist icon to disk: %v", err) } else { log.Printf("Saved icon file to: %v", iconFile) } } err := pac.EnsureHelperToolPresent("pac-cmd", i18n.T("PAC_SETUP"), iconFile) if err != nil { return fmt.Errorf("Unable to set up pac setting tool: %s", err) } return nil }
func (c *fireflyClient) reloadSystray() { c.systrayItems.settings.SetTitle(i18n.T("TRAY_SETTINGS")) c.systrayItems.quit.SetTitle(i18n.T("TRAY_QUIT")) }