avyos.dev/pkg/appcatalog

package appcatalog

Package Overview

No package-level documentation is provided.

Export GroupCount
Constants0
Variables0
Functions6
Types4

Functions

func DefaultDockPins() []string
func DockPinsPath(home string) string
func LoadDockPins(home string, defaults []string) []string
func SaveDockPins(home string, pins []string) error
func SupportsExtension(entry Entry, ext string) bool
func ToggleDockPin(home, id string, defaults []string) (bool, error)

Types

DiscoverOptions

type DiscoverOptions struct {
	Home          string
	IncludeHidden bool
}

Entry

type Entry struct {
	ID                string
	Name              string
	Description       string
	ExecPath          string
	IconName          string
	IconPath          string
	RootDir           string
	DirName           string
	Hidden            bool
	Dock              bool
	Background        bool
	Actions           []ManifestAction
	SupportExtensions []string
}

Functions

func Discover(opts DiscoverOptions) []Entry
func FindByExtension(entries []Entry, ext string) (Entry, bool)
func FindByFilePath(entries []Entry, path string) (Entry, bool)
func FindByID(entries []Entry, id string) (Entry, bool)

Manifest

type Manifest struct {
	ID                string           `json:"id"`
	Name              string           `json:"name"`
	Description       string           `json:"description"`
	Icon              string           `json:"icon,omitempty"`
	Hidden            bool             `json:"hidden,omitempty"`
	Dock              bool             `json:"dock,omitempty"`
	Background        bool             `json:"background,omitempty"`
	Actions           []ManifestAction `json:"actions,omitempty"`
	SupportExtensions []string         `json:"support_extensions,omitempty"`
	Extensions        []string         `json:"extensions,omitempty"`
}

ManifestAction

type ManifestAction struct {
	ID      string   `json:"id,omitempty"`
	Name    string   `json:"name,omitempty"`
	Label   string   `json:"label,omitempty"`
	Command string   `json:"command,omitempty"`
	Args    []string `json:"args,omitempty"`
}