# User Documentation
## Installation Instructions
[](https://repology.org/project/ncspot/versions)
### On macOS
`ncspot` is available via [Homebrew](https://brew.sh/):
```zsh
brew install ncspot
```
### On Windows
`ncspot` is available via [Scoop](https://scoop.sh/):
```powershell
scoop install ncspot
```
### On Linux
Your distribution may have packaged `ncspot` in its package repository.
If so, simply install using your distribution's package manager - it
is by far the easiest way. If not, you can build from source instead.
See [Compiling](/doc/developers.md).
In case your package manager does not perform dependency resolution,
here are the runtime dependencies:
- `dbus`, `libncurses`, `libssl`
- `libpulse` (or `portaudio`, if built using the PortAudio backend)
- `libxcb` (if built with the `clipboard` feature)
- `ueberzug` (if built with the `cover` feature)
### On BSD's
Your distribution may have packaged `ncspot` in its package repository.
If so, simply install using your distribution's package manager - it
is by far the easiest way. If not, you can build from source instead.
See [Compiling](/doc/developers.md).
## Key Bindings
The keybindings listed below are configured by default. Additionally, if you
built `ncspot` with MPRIS support, you may be able to use media keys to control
playback depending on your desktop environment settings. Have a look at the
[configuration section](#configuration) if you want to set custom bindings.
### Navigation
| Key | Command |
|-------------------|-------------------------------------------------------------------------------|
| ? | Show help screen. |
| F1 | Queue (See [specific commands](#queue)). |
| F2 | Search. |
| F3 | Library (See [specific commands](#library)). |
| F8 | Album Art (if built with the `cover` feature). |
| / | Open a Vim-like search bar (See [specific commands](#vim-like-search-bar)). |
| : | Open a Vim-like command prompt (See [specific commands](#vim-like-commands)). |
| Escape | Close Vim-like search bar or command prompt. |
| Q | Quit `ncspot`. |
### Playback
| Key | Command |
|-------------------------------|----------------------------------------------------------------|
| Return | Play track or playlist. |
| Space | Queue track or playlist. |
| . | Play the selected item after the currently playing track. |
| P | Move to the currently playing track in the queue. |
| S | Save the currently playing item to your library. |
| D | Remove the currently playing item from your library. |
| Shift+P | Toggle playback (i.e. Play/Pause). |
| Shift+S | Stop playback. |
| Shift+U | Update the library cache (tracks, artists, albums, playlists). |
| < | Play the previous track. |
| > | Play the next track. |
| F | Seek forward by 1 second. |
| Shift+F | Seek forward by 10 seconds. |
| B | Seek backward by 1 second. |
| Shift+B | Seek backward by 10 seconds. |
| - | Decrease volume by 1%. |
| + | Increase volume by 1%. |
| [ | Decrease volume by 5%. |
| ] | Increase volume by 5%. |
| R | Toggle _Repeat_ mode. |
| Z | Toggle _Shuffle_ state. |
### Context Menus
| Key | Command |
|-------------------------------|-----------------------------------------------------------------------------------------------------------|
| O | Open a detail view or context for the **selected item**. |
| Shift+O | Open a context menu for the **currently playing track**. |
| A | Open the **album view** for the selected item. |
| Shift+A | Open the **artist view** for the selected item. |
| M | Open the **recommendations view** for the **selected item**. |
| Shift+M | Open the **recommendations view** for the **currently playing track**. |
| Ctrl+V | Open the context menu for a Spotify link in your clipboard (if built with the `share_clipboard` feature). |
| Backspace | Close the current view. |
When pressing O:
- If the _selected item_ is **not** a track, it opens a detail view.
- If the _selected item_ **is** a track, it opens a context menu with:
- "Artist(s)" (let's you show or (un)follow a track's artist(s))
- "Show Album"
- "Share" (if built with the `share_clipboard` feature)
- "Add to playlist"
- "Similar tracks"
### Sharing
(if built with the `share_clipboard` feature)
| Key | Command |
|-------------------------------|--------------------------------------------------------------------------|
| X | Copy the URL to the **currently selected item** to the system clipboard. |
| Shift+X | Copy the URL to the **currently playing track** to the system clipboard. |
### Queue
| Key | Command |
|------------------------------|--------------------------------------|
| C | Clear the entire queue. |
| D | Delete the currently selected track. |
| Ctrl+S | Delete the currently selected track. |
### Library
| Key | Command |
|--------------|-----------------------------------------|
| D | Delete the currently selected playlist. |
### Vim-Like Search Bar
| Key | Command |
|--------------|-----------------------------|
| n | Previous search occurrence. |
| N | Next search occurrence. |
### Vim-Like Commands
You can open a Vim-style command prompt using :, and close it at any
time with Escape.
The following is an abridged list of the more useful commands. For the full list, see [source code](/src/command.rs).
Note: \ - mandatory arg; [BAR] - optional arg
| Command | Action |
|------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `help` | Show current key bindings. |
| `quit` Aliases: `q`, `x` | Quit `ncspot`. |
| `logout` | Remove any cached credentials from disk and quit `ncspot`. |
| `playpause` Aliases: `pause`, `toggleplay`, `toggleplayback` | Toggle playback. |
| `stop` | Stop playback. |
| `seek` [`+`\|`-`]\