Plugin Publishing Metadata Protocol

After developing a Little Tree Wallpaper Next plugin, you can publish your plugin by writing a plugin metadata file. Plugin metadata uses TOML format, containing basic plugin information and download links for the Little Tree Wallpaper Next client to read and display.

1. File Structure

Each plugin metadata is a .toml file.

identifier = "example_plugin"
name = "Example Plugin"
description = "This is an example plugin"
long_description = """
This is a detailed description, supporting multiline text.
Can include feature introductions, usage instructions, etc.
"""
logo = "https://example.com/logo.png"
repository = "https://github.com/user/example-plugin"
python_url = "https://raw.githubusercontent.com/user/example-plugin/main/plugin.py"

2. Field Descriptions

FieldRequiredTypeDescription
identifierstringPlugin unique ID (lowercase letters, numbers, underscores, 3-32 characters)
namestringPlugin display name
descriptionstringShort description (recommended ≤100 characters)
long_descriptionstringDetailed description (supports multiline)
logostringLogo address, supports HTTPS URL or image/...;base64,...
repositorystringGitHub repository address (must be complete HTTPS URL)
python_urlstringRaw link to the plugin’s main Python file (e.g., GitHub raw link)

Field Fallback Logic (Client Implementation):

  • If long_description is not provided:
    • And repository is provided → Try to extract the first paragraph from the repository’s README.md as detailed description (optional implementation)
    • Otherwise, use description (if exists), otherwise use name
  • If description is not provided:
    • Use the first sentence of long_description (optional), otherwise use name
  • If logo is not provided → Display default plugin icon

3. Examples

Complete Example

identifier = "wallpaper_scheduler"
name = "Wallpaper Scheduler"
description = "Automatically switch wallpapers by time"
long_description = """
Support daily/weekly/custom schedule wallpaper switching,
can work with multiple wallpaper sources.
"""
logo = "https://raw.githubusercontent.com/user/wallpaper-scheduler/main/icon.png"
repository = "https://github.com/user/wallpaper-scheduler"
python_url = "https://raw.githubusercontent.com/user/wallpaper-scheduler/main/plugin.py"

Minimal Example

identifier = "hello_world"
name = "Hello World"
python_url = "https://raw.githubusercontent.com/user/hello-world/main/plugin.py"

In this case:

  • description not provided → Display name
  • long_description not provided and no repository → Display name
  • logo not provided → Use default icon