https://github.com/rsmeowry/verses
A Terminal UI viewer for your synchronized Spotify lyrics
https://github.com/rsmeowry/verses
lyrics-viewer lyrics-visualizer rust-tui spotify spotify-api spotify-lyrics tui
Last synced: 9 months ago
JSON representation
A Terminal UI viewer for your synchronized Spotify lyrics
- Host: GitHub
- URL: https://github.com/rsmeowry/verses
- Owner: rsmeowry
- License: apache-2.0
- Created: 2023-08-31T06:43:47.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2023-09-09T13:50:24.000Z (almost 3 years ago)
- Last Synced: 2025-08-27T07:42:00.780Z (10 months ago)
- Topics: lyrics-viewer, lyrics-visualizer, rust-tui, spotify, spotify-api, spotify-lyrics, tui
- Language: Rust
- Homepage:
- Size: 1.66 MB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# verses
Verses is a TUI tool to view synchronized Spotify lyrics.

## Installation
### AUR (for Arch users)
Verses is available on AUR under `verses-bin`
```sh
yay -S verses-bin
```
### With cargo:
```sh
cargo install verses
```
### From source:
```sh
git clone https://github.com/Maxuss/verses
cd verses
cargo install --path .
```
## Prerequesities
To track spotify stats you will have to create your own Spotify developer app [here](https://developer.spotify.com/dashboard/create).
Run `verses` for the first time and it will prompt you for your
Client ID. You can get it in the *Settings* section of your app dashboard. Do not confuse it with client secret!
After that, you can run verses.
## Controls
* `q` - quit
* `a` - toggle auto-scrolling
* `j` | `down key` - scroll down
* `k` | `up key` - scroll up
* `r` - reset scroll position
## Config
Config file is located at `$HOME/.config/verses/config.toml`
Each TOML section can be included in a separate file, just specify it using the `include` field.
For example:
```toml
# config.toml
[theme]
include = "themes/catppuccin.toml"
# themes/catppuccin.toml
[borders]
# configuration there...
[lyrics]
# ...
[progress_bar]
# ...
```
Config has certain special value types:
### general.display.*_format
These are formatting strings using the Handlebars syntax, specifically [the Rust implementation](https://github.com/sunng87/handlebars-rust).
Available variables are listend in the example config. There is also an utility function `join` that allows to join a list of strings separated by a comma.
### Colors
Colors can either be represented the [Ratatui stringified way](https://docs.rs/ratatui/latest/ratatui/style/enum.Color.html) or as a hex RGB value, prefixed with `#`
### Border styles
These are enum variants. You can see [all variants here](https://docs.rs/ratatui/latest/ratatui/widgets/block/enum.BorderType.html)
## Windows support
Windows was not tested at all, and while it should run well, I do not guarantee flawless performance