FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

plugins/plugins/theme-manager at main · xfetch-cli/plugins · GitHub

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

Theme Manager Plugin

Browse, search, install, and inspect xfetch themes from the remote registry.


Kind info_provider
Binary xfetch-plugin-theme-manager
Dependencies curl CLI
Registry github.com/xfetch-cli/themes (index.json)

Build

cargo build --release --manifest-path plugins/theme-manager/Cargo.toml

Install

xfetch plugin install theme-manager

Actions

list

Display all available themes from the registry:

{
  "info_plugins": [
    { "plugin": "theme-manager" }
  ],
  "modules": ["plugin:theme-manager"]
}

This is the default action when none is specified.

search

Search themes by name, description, author, or tags:

{
  "info_plugins": [
    {
      "plugin": "theme-manager",
      "args": {
        "action": "search",
        "query": "dark"
      }
    }
  ],
  "modules": ["plugin:theme-manager"]
}

info

Show detailed information about a specific theme:

{
  "info_plugins": [
    {
      "plugin": "theme-manager",
      "args": {
        "action": "info",
        "name": "dracula"
      }
    }
  ],
  "modules": ["plugin:theme-manager"]
}

install

Download and install a theme from the registry:

{
  "info_plugins": [
    {
      "plugin": "theme-manager",
      "args": {
        "action": "install",
        "name": "dracula"
      }
    }
  ],
  "modules": ["plugin:theme-manager"]
}

The theme file is saved to ~/.config/xfetch/themes/<name>.jsonc.

Args

Field Type Required Description
action string No One of list (default), search, info, install
name string For info and install Theme name (e.g., dracula, nord)
query string For search Search term matching name, description, author, or tags
registry string No Custom registry URL (defaults to xfetch-cli/themes)

Output

list example

Theme Manager -- 6 themes available

  dracula  xscriptor  section  (#dark #dracula #popular)
       Dark magenta, red, and cyan palette inspired by the Dracula color scheme.

  nord  xscriptor  section  (#light #nord #arctic #minimal)
       Cool blue and arctic cyan palette based on the Nord color scheme.

install example

Theme 'dracula' installed successfully.
  Path: /home/user/.config/xfetch/themes/dracula.jsonc
  Author: xscriptor
  Layout: section

Activate with: xfetch theme set dracula
Or add to config.jsonc: "theme": "dracula"

How It Works

  1. xfetch sends a JSON request with kind: "info_provider" and the configured args.
  2. The plugin fetches the theme registry from the remote URL via curl.
  3. Depending on the action, it filters, displays, or downloads theme files.
  4. For install, the theme JSONC file is saved to ~/.config/xfetch/themes/.
  5. The plugin returns a JSON response with the formatted lines.
  6. xfetch displays them under the plugin:theme-manager module key.

Notes

  • Requires curl to be installed and available in PATH.
  • Network connectivity is required for all actions.
  • The registry URL can be overridden with the registry arg for self-hosted registries.
  • After installing a theme, activate it with xfetch theme set <name> or by adding "theme": "<name>" to config.jsonc.

Back | FazBrowse Home | New Git URL