// NewApplet creates a new applet instance. // func NewApplet(base cdtype.AppBase, events *cdtype.Events) cdtype.AppInstance { app := &Applet{AppBase: base} app.SetConfig(&app.conf) // Events. events.OnClick = app.Command().Callback(cmdLeft) events.OnMiddleClick = app.Command().Callback(cmdMiddle) events.OnBuildMenu = func(menu cdtype.Menuer) { if app.conf.LeftAction > 0 && app.conf.LeftCommand != "" { menu.AddEntry("Action left click", "system-run", app.Command().Callback(cmdLeft)) } if app.conf.MiddleAction > 0 && app.conf.MiddleCommand != "" { menu.AddEntry("Action middle click", "system-run", app.Command().Callback(cmdMiddle)) } } app.service = sysinfo.NewIOActivity(app) app.service.Log = app.Log() app.service.FormatIcon = formatIcon app.service.FormatLabel = formatLabel app.service.GetData = sysinfo.GetDiskActivity app.Poller().Add(app.service.Check) return app }
// NewApplet creates a new applet instance. // func NewApplet(base cdtype.AppBase, events *cdtype.Events) cdtype.AppInstance { app := &Applet{AppBase: base} app.SetConfig(&app.conf) // Events. events.OnClick = app.Command().Callback(cmdLeft) events.OnMiddleClick = app.Command().Callback(cmdMiddle) events.OnBuildMenu = app.buildMenu events.End = func() { app.video.WebUnregister() } events.OnDropData = func(data string) { if strings.HasPrefix(data, "http://") || strings.HasPrefix(data, "https://") { if app.conf.VideoDLEnabled { app.DownloadVideo(data) } } else { app.UpToShareUpload(data) } } // Uptoshare actions app.up = uptoshare.New() app.up.Log = app.Log() app.up.SetPreCheck(func() { app.SetEmblem(app.FileLocation("icon"), EmblemAction) }) app.up.SetPostCheck(func() { app.SetEmblem("none", EmblemAction) }) app.up.SetOnResult(app.onUploadDone) // Network activity actions. app.service = sysinfo.NewIOActivity(app) app.service.Log = app.Log() app.service.FormatIcon = sysinfo.FormatIcon app.service.FormatLabel = formatLabel app.service.GetData = sysinfo.GetNetActivity app.Poller().Add(app.service.Check) // Video download actions. ActionsVideoDL := 0 hist := videodl.NewHistoryVideo(app, videodl.HistoryFile) app.video = videodl.NewManager(app, app.Log(), hist) app.video.SetPreCheck(func() error { return app.SetEmblem(app.FileLocation("img", "go-down.svg"), EmblemDownload) }) app.video.SetPostCheck(func() error { return app.SetEmblem("none", EmblemDownload) }) app.video.Actions(ActionsVideoDL, app.Action().Add) app.video.WebRegister() hist.Load() return app }