func main() { logger := log.NewLog(log.Logs) externalUserDir, e := packages.DirAppletsExternal("") // option config dir log.Fatal(e, "DirAppletsExternal") packs, e := editpack.PacksExternal(logger, externalUserDir) log.Fatal(e, "get external packages") editpack.Start(logger, packs) }
// Load user configuration if needed and initialise applet. // func (app *AppletGmail) Init(loadConf bool) { if loadConf { // Try to load config. Exit if not found. app.conf = &mailConf{} log.Fatal(app.LoadConfig(&app.conf, dock.GetKey), "config") } log.SetDebug(app.conf.Debug) // Reset data to be sure our display will be refreshed. app.data.Clear() app.err = nil // Fill config empty settings. if app.conf.MonitorName == "" { app.conf.MonitorName = app.conf.DefaultMonitorName } if app.conf.AlertSoundFile == "" { app.conf.AlertSoundFile = app.conf.DefaultAlertSoundFile } if app.conf.UpdateDelay == 0 { app.conf.UpdateDelay = defaultUpdateDelay } // Set defaults to dock icon: display and controls. def := cdtype.Defaults{ Shortkeys: []string{app.conf.ShortkeyOpen, app.conf.ShortkeyCheck}, Label: "Mail unchecked", Templates: []string{"InternalDialog"}, } if app.conf.Icon != "" && app.conf.Renderer != EmblemSmall && app.conf.Renderer != EmblemLarge { // User selected icon. def.Icon = app.conf.Icon } if app.conf.MonitorEnabled { def.MonitorName = app.conf.MonitorName } app.SetDefaults(def) // Create the renderer. switch app.conf.Renderer { case QuickInfo: app.render = NewRenderedQuick(app.CDApplet) case EmblemSmall, EmblemLarge: app.render = NewRenderedSVG(app.CDApplet, app.conf.Renderer) default: // NoDisplay case, but using default to be sure we have a valid renderer. app.render = NewRenderedNone() } // Configure the mail polling loop. app.poller.SetInterval(app.conf.UpdateDelay) }