awesome-wm-widgets/spotify-shell
streetturtle 40a2560445 make corners rounded 2018-01-27 19:39:12 -05:00
..
README.md Update README.md 2018-01-22 08:37:00 -05:00
demo.gif add gif with demo 2018-01-21 18:29:05 -05:00
spotify-shell.lua make corners rounded 2018-01-27 19:39:12 -05:00

README.md

Spotify Shell

demo

Features

  1. Supports following commands (same as sp client):

    • 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;
  2. Stores history and allows navigate through it;

  3. 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

  1. Install sp - CLI client for Spotify for Linux:

    $ sudo git clone https://gist.github.com/fa6258f3ff7b17747ee3.git /opt/
    $ sudo ln -s /opt/sp /usr/local/bin/
    

    Check if it works by running sp help.

  2. Get an 'id' and 'secret' from developer.spotify.com and paste it in the header of the sp (SP_ID and SP_SECRET) - this enables search feature.

  3. Clone this repo under ~/.config/awesome/

  4. Require spotify-shell at the beginning of rc.lua:

    local spotify_shell = require("awesome-wm-widgets.spotify-shell.spotify-shell")
    
  5. Add a shortcut which will show Spotify Shell widget:

    awful.key({ modkey,        }, "d", function () spotify_shell.launch() end, {description = "spotify shell", group = "music"}),
    
  6. 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.