Skip to content

Releases: spicetify/cli

v0.6.0

19 Mar 14:11
Compare
Choose a tag to compare

Adds:

  • Command config: Easily change one or multiple config values in command-line. Example usage:

    • Disable "inject_css":
      spicetify config inject_css 0
    • Enable "song_page" and disable "fastUser_switching":
      spicetify config song_page 1 fastUser_switching 0
    • Add extension keyboardShortcut.js to "extensions"
      spicetify config extensions keyboardShortcut.js
  • Command color: Easily change theme's one or multiple colors in command-line. Example usage:

    • Change "main_bg" to ff0000
      spicetify color main_bg ff0000
    • Change "slider_bg" to 00ff00 and "pressing_fg" to 0000ff
      spicetify color slider_bg 00ff00 pressing_fg 0000ff
  • Extensions keyboardShortcut.js: Register some useful keybinds to support keyboard-driven navigation in Spotify client. Less time touching the mouse.

    • Ctrl Tab / Ctrl Shift Tab: Navigate items in left sidebar menu.
    • Backspace/Shift Backspace: Navigate history backward/forward.
    • PageUp/PageDown: Force scroll up/down app page only because mouse focus is sometimes in sidebar region and they scroll sidebar instead of app page).
    • J/K: Scroll app page up/down. *Tips hat to Vim users*
    • Ctrl Q: Open Queue page.
    • `: Open up keyboard-driven navigation. Hit correct key sequences to open up place you want to go:

image

Change:

  • If config current_theme is blank, spicetify will apply original Spotify colors and CSS. Same effect as set both inject_css and replace_colors to 0.
  • API Spicetify.addToQueue and Spicetify.removeFromQueue: add supports for Local track and album URI.

Fix: symbolic link bug in Homebrew

05 Mar 11:33
Compare
Choose a tag to compare

spicetify-cli Homebrew install script is also updated.

brew install khanhas/tap/spicetify-cli

or

brew upgrade khanhas/tap/spicetify-cli

Stop auto-update; Inject custom app

02 Mar 12:34
Compare
Choose a tag to compare

Adds

  • Preprocess stop_autoupdate: Prevent Spotify to fetch and update new client version. Useful for anyone who want to keep their themes forever.
    Notes: Since it's a preprocess so you need to restore, backup and apply again to have this feature. Do it in one line:
spicetify restore backup apply
  • Inject Custom Apps: Add your app names to custom_apps in config, separate them by |
    E.g:
[AdditionalOptions]
...
custom_apps = reddit
  • Reddit app fetches playlists, tracks, albums that posted in subreddits. This app has native feels and behavior just like other Spotify apps: you can follow, save, play, open playlist/track/album directly.

v0.4.2

16 Jan 08:29
Compare
Choose a tag to compare

Adds

  • Extension WebNowPlaying Companion (webnowplaying.js): Fetch track information, player state and control player via WebSocket protocol (localhost:8974).

This extension is made specially for Windows Rainmeter users to use along with WebNowPlaying plugin.
But MacOS and Linux users/developers can make a simple daemon program to receive information/send command on your will without touching Spotify Web API.

Update

  • SpicetifyDefault CSS: Remove obsoleted rules

v0.4.1

01 Jan 07:58
Compare
Choose a tag to compare

Adds

  • Dark variant for SpicetifyDefault theme. In color.ini, Comment out Pink/White block and uncomment Green/Dark blue block, then run spicetify update to use dark theme.
  • More user friendly info and warning for commands.
  • Fatal on every IO operations error.

Note for Linux:

Arch and its variant (Spotify installed from AUR)

To have permission write on Spotify app files, remember to run:

sudo chmod 777 /usr/share/spotify -R

before applying Spicetify.

Ubuntu (Spotify installed from Snap)

Currently I do not know how to gain write permission on Spotify files since I'm not familiar with mount system and can't find any workaround. If you somehow manage to add or delete files in /snap/spotify/current/usr/share/spotify directory, please do post an Issue with step by step how you do it, any help would be appreciated.

v0.4.0

30 Dec 06:01
Compare
Choose a tag to compare

Add

  • Config prefs_path: Unlike Windows and MacOS, prefs file location in Linux isn't in fixed place. It largely depends on how Spotify was installed, from debian package, AUR or Snap or other package manager I would never have chance to test. So it's best to have a field in config to set its path manually. Although so, Spicetify does automatically check in few places, if it doesn't find, you can try to find it by running this command in home directory:
find | grep "spotify/prefs$"

Note for Linux user: Spotify from debian package hasn't been updated for a while (1.0.80 compares to 1.0.96 with massive UI elements and Apps structure changes) and it's hard for me to maintenance both new and old version. So try to install the newest one from Snap or AUR before using Spicetify.

  • API Spicetify.Menu: Easier for extension author to create and register custom menu item in Profile menu. Supports single toggle item and sub menu item to contain 2 or more toggles. Check out its documentation in global.d.ts

Change

  • API Spicetify.LibURI to Spicetify.URI

Inject Extensions

25 Dec 18:37
Compare
Choose a tag to compare

Adds

  • Supports inject extension (Javascript script) to extend client functionalities, manipulate UI.
    To use extensions, add your desired extension names in config, separated them by | character.
    Example:
[AdditionalOptions]
...
extensions                   = autoSkipExplicit.js|queueAll.js|djMode.js|shuffle+.js|trashbin.js

Extension files can be store in:

  • Extensions folder in Home directory:
    Windows: %userprofile%\.spicetify\Extensions\
    Linux: ~/.spicetify/Extensions/
    MacOS: ~/spicetify_data/Extensions
  • Extensions folder in Spicetify executable directory.
    If there are 2 extensions having same name, extension in Home directory is prioritized.

Some Spotify API are leaked and put in global object Spicetify. Check out global.d.ts for API documentation.

v0.2.0

09 Dec 12:56
Compare
Choose a tag to compare

Add:

  • Additional options:
experimental_features
    Allow access to Experimental Features of Spotify. Open it in profile menu (top right corner).

fastUser_switching
    Allow change account immediately. Open it in profile menu.

home
    Enable Home page. Access it in left sidebar.

lyric_always_show
    Force Lyrics button to show all the time in player bar.
    Useful for who want to watch visualization page.

lyric_force_no_sync
    Force displaying all of lyrics.

made_for_you_hub
    Enable Made For You page. Access it in left sidebar.

radio
    Enable Radio page. Access it in left sidebar.

song_page
    Clicks at song name in player bar will access that song page
    (instead of its album page) to discover playlists it appearing on.

visualization_high_framerate
    Force Visualization in Lyrics app to render in 60fps.

Enable them in config file and run spicetify apply again.

  • Watch mode: detect change in user.css and color.ini of your theme and automatically update. Run spicetify watch.
    You can also update manually by running spicetify update.
    Remember to reload your Spotify client to receive visual update.

Change:

  • MacOS: Spicetify storage folder path: ~/.spicetify -> ~/spicetify_data
    And user do not need to run commands with sudo anymore
    Because of this change, MacOS user please run spicetify restore before update to this version, manually delete ~/.spicetify folder. Then update spicetify and run backup, apply again.

First release

05 Dec 10:59
Compare
Choose a tag to compare

Features:

  • Preprocesses app files:
    • Disable Sentry
    • Disable UI Logging
    • Remove Right-To-Left CSS rules
    • Expose APIs
  • Customize: Change colors, inject CSS