waxon

command module
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2026 License: GPL-3.0 Imports: 11 Imported by: 0

README

waxon logo

waxon

A vim-modal Spotify client for the terminal.

Install · Features · Keybindings · Commands

waxon demo

Install

Homebrew:

brew install danfry1/tap/waxon

Go:

go install github.com/danfry1/waxon@latest

Binary: download from the Releases page.

Quick Start

waxon auth    # Connect your Spotify account (one-time setup)
waxon         # Launch the TUI

Requires a Spotify Premium account and a terminal with true color support.

Features

Vim Navigation

Navigate everything without leaving the home row — j/k to move, gg/G to jump, h/l to switch panes.

vim navigation

Now Playing

Full-screen album art rendered with Unicode half-blocks, gradient backgrounds, and a vinyl spinning mode.

now playing view

Find tracks, artists, and albums across Spotify.

search

Artist & Album Browsing

Explore discographies, browse full albums, and navigate with a browser-like back stack.

artist and album browsing

Command Mode

Vim-style commands for volume, shuffle, repeat, device switching, and more.

command mode

Keybindings

Navigation

Key Action
j / k Move down / up
gg Go to top
G Go to bottom
Ctrl+u / Ctrl+d Half page up / down

Panes

Key Action
h / l Focus left / right pane
Tab Cycle pane
1 / 2 Library / queue section

Go-to (g prefix)

Key Action
gl Go to library
gq Go to queue
gc Jump to currently playing track
gr Recently played

Playback

Key Action
Space Play / pause
Enter Play selected
n / p Next / previous track
[ / ] Seek -5s / +5s

Actions

Key Action
o Context actions menu
a Add to queue
/ Filter current view
s Spotify search
D Device switcher
: Command mode

Other

Key Action
N Now Playing view
V Toggle vinyl mode (in Now Playing)
Backspace / b Go back
? Toggle help overlay
q Quit
Esc Close / cancel

Commands

Enter command mode by pressing :, then type a command.

Command Description
:vol <0-100> Set volume
:shuffle Toggle shuffle
:repeat off|all|one Set repeat mode
:device Open device switcher
:search <query> Search Spotify
:recent Recently played
:q Quit

Using Your Own Spotify App (Optional)

waxon works out of the box with no configuration — it ships with a shared client ID used by several open-source Spotify clients. Most users don't need to change anything.

If you'd prefer to use your own Spotify developer app:

  1. Go to the Spotify Developer Dashboard and create an app

  2. Set the redirect URI to http://127.0.0.1:27228/callback

  3. Copy the Client ID and run setup with it:

    SPOTIFY_CLIENT_ID=your_client_id waxon auth
    

The client ID is saved to ~/.config/waxon/config.json automatically, so you only need to set the environment variable once during setup.

Environment Variables

Variable Description
SPOTIFY_CLIENT_ID Override the saved Spotify Client ID
WAXON_LOG Path to debug log file (e.g. /tmp/waxon.log)

Acknowledgements

Built with Bubbletea, Bubbles, and Lip Gloss by Charmbracelet. Demo recordings made with VHS. Huge thanks to the Charm team for making terminal UIs a joy to build.

License

This project is licensed under the GNU General Public License v3.0.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL