Make spotatui yours, in Lua.
spotatui runs user-written Lua plugins. They react to playback events, add commands and key bindings, draw popups and playbar segments, restyle the theme, and make async HTTP requests, all through a small, curated API.
spotatui.require_api(4)
-- toast + playbar segment on every track change
spotatui.on("track_changed", function(t)
spotatui.notify(t.artist .. " - " .. t.title)
end)
spotatui.command("accent_cycle", function()
spotatui.set_accent(next_color())
end)Plugins are just git repos.
Any plugin published as a repository installs, updates and removes with a single command. It is cloned into your config directory and loaded at startup.
# add, list, update, remove
$ spotatui plugin add owner/repo
$ spotatui plugin list
$ spotatui plugin new my-pluginFirst-party plugins to learn from
track-notifier
A now-playing toast and a playbar segment on every track change.
track-info-popup
A command that pops up the full details of the current track.
accent-cycler
A command that rotates the theme accent color on demand.
now-playing-webhook
POSTs a JSON payload to a webhook whenever the track changes.
session-stats
A directory plugin, with a required helper, that tracks session plays.
Read the API reference
Full reference in docs/scripting.md, plus the ecosystem overview in PLUGINS.md. API v4.
A plugin runs with the same privileges as spotatui, with full standard library and network access. Treat installing one like running any program from the internet: only install plugins whose source you have read or whose author you trust.