diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..5120e91 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +qm plugin protocol with example. A "file manager" plugin example is written in shell script, python and zig + +# Protocol +## Input +Plugins get inputs as environment variables.\ +The environment variable `ACTION` is set to `get` to get data.\ +The environment variable `URL` is set to _url_ relevant to the page, so for example for a file manager `URL` is set to the directory to display files of. +## Output +Plugins output data by writing lines to stdout.\ +Data is first written to stdout and then a _command_ is written to stdout.\ +First `add_tab` command is expected, followed by multiple `add_body_item`. The body items are put in the tab that is output before the body items. +### add_tab +The add_tab command expects `title` data, for example: +```bash +echo "title Files" +echo "add_tab" +``` +### add_body_item +The add_body_item command expects `title` and `url` data and optionally `thumbnail_url` and `thumbnail_size`, for example: +```bash +echo "title file.png" +echo "url img1.png" +echo "thumbnail_url img1.png" +echo "thumbnail_size 1920x1080" +echo "add_body_item" + +echo "title img2.png" +echo "url img2.png" +echo "thumbnail_url img2.png" +echo "thumbnail_size 1280x720" +echo "add_body_item" +``` |