Spotify Shell
Features
- 
Supports following commands (same as spclient):- play/- pause/- next;
- any other string will start a search and play the first result for a given search query;
- feh - shows the current artwork with feh;
 
- 
Stores history and allows navigate through it; 
- 
Highly customizable 
Controls
Keyboard navigation (copied from awful.prompt API documentation page):
| Name | Usage | 
|---|---|
| CTRL+A | beginning-of-line | 
| CTRL+B | backward-char | 
| CTRL+C | cancel | 
| CTRL+D | delete-char | 
| CTRL+E | end-of-line | 
| CTRL+J | accept-line | 
| CTRL+M | accept-line | 
| CTRL+F | move-cursor-right | 
| CTRL+H | backward-delete-char | 
| CTRL+K | kill-line | 
| CTRL+U | unix-line-discard | 
| CTRL+W | unix-word-rubout | 
| CTRL+BACKSPAC | unix-word-rubout | 
| SHIFT+INSERT | paste | 
| HOME | beginning-of-line | 
| END | end-of-line | 
| CTRL+R | reverse history search, matches any history entry containing search term. | 
| CTRL+S | forward history search, matches any history entry containing search term. | 
| CTRL+UP | ZSH up line or search, matches any history entry starting with search term. | 
| CTRL+DOWN | ZSH down line or search, matches any history entry starting with search term. | 
| CTRL+DELETE | delete the currently visible history entry from history file. This does not delete new commands or history entries under user editing. | 
Installation
- 
Install sp - CLI client for Spotify for Linux: $ sudo git clone https://gist.github.com/fa6258f3ff7b17747ee3.git ~/dev/ $ sudo ln -s ~/dev/sp /usr/local/bin/Check if it works by running sp help.
- 
Get an 'id' and 'secret' from developer.spotify.com and paste it in the header of the sp(SP_IDandSP_SECRET) - this enables search feature.
- 
Clone this repo under ~/.config/awesome/ 
- 
Require spotify-shell at the beginning of rc.lua: local spotify_shell = require("awesome-wm-widgets.spotify-shell.spotify-shell")
- 
Add a shortcut which will show Spotify Shell widget: awful.key({ modkey, }, "d", function () spotify_shell.launch() end, {description = "spotify shell", group = "music"}),
- 
It uses icon from Papirus Icon Theme. So you should either install this icon theme, or download an icon you want to use and provide path to it in spotify-shell.lua. 
