Command-line tool to customize Spotify client. Supports Windows, MacOS, and Linux.
LGPL-2.1 License
Bot releases are visible (Hide)
Nothing changed from last release, I just forgot to push 2 last commits before making new release.
Changelog v1.0.0
Windows Store Spotify support: For users who have trouble installing normal Spotify version. If you are already using normal Spotify, there is no reason to install Windows Store Spotify because of this.
Disable Web UI permanently by default. Since Web UI is impossible to theme or expose API, I prevent it to load completely. If you are fell into A/B Testing group by Spotify, this spicetify
update would revert you back to normal UI. Please run spicetify restore backup apply
to apply the change.
Preprocess disable_upgrade_check: Prevent Spotify checking new version status and notifying visually. It is useful for users who deleted SpotifyMigrator.exe
and SpotifyUpdate.exe
to stop Spotify automatic update.
Live update: Automatically reload Spotify on change. Please add flag -l
when running "watch":
spicetify watch -l
spicetify watch -e -l
spicetify config extensions newRelease.js
spicetify apply
spicetify config extensions bookmark.js
spicetify apply
spicetify config extensions fullAppDisplay.js
spicetify apply
Activating button locates in top bar. While in display mode, double click anywhere to exit. Right click anywhere to open setting menu.
spotify_launch_flags
: Specify commandline flags to launch/restart Spotify. Separate flags by |
character.[Setting]
...
spotify_launch_flags = --transparent-window-controls | --remote-debugging-port=9222
import
line with this syntax for Spicetify to map it correctly. For exampleimport "./node_modules/match-sorter/dist/match-sorter.umd.js";
to
//spicetify_map{matchSorter from "match-sorter"}{"./node_modules/match-sorter/dist/match-sorter.umd.min.js"}
import matchSorter from "match-sorter";
#223
https://github.com/khanhas/spicetify-cli/pull/226
Bookmark
: No long needed.color.ini
:color.ini
, I make a new key header_bg
with value FF0000
under Base
color scheme:[Base]
main_fg = FE6F61
secondary_fg = 3D3D3D
main_bg = FAFAFA
...
header_bg = FF0000
Then in user.css
, CSS variable --modspotify_header_bg
will be available to use:
.glue-page-header__full-description-overlay {
background-color: var(--modspotify_header_bg) !important;
}
API Spicetify.Abba
: Fetch and overrides your A/B test flags. Documentation.
Command-line flag -n
or --no-restart
: Tell spicetify to not restart your Spotify client after finishing apply
or restore
command.
Spicetify
to window.Spicetify
: When making custom apps, you can access Spicetify API via window.top.Spicetify
.Spicetify.Menu
had cleaner injection. Items won't show up on other popup menus beside profile menu.PLAYLIST_V2 not supported
error in shuffle+.js
I just added integration with Musixmatch for my genius-spicetify
app. Try it out if you want to have synced lyric to sing along: https://github.com/khanhas/genius-spicetify
.mjs
as a script with type="module"
.node_modules
folder found in user's Extensions folder to zlink
.disable_sentry
: Now also disable Amazon Qualaroo. Please run spicetify restore backup apply
for new preprocess routine to be applied.keyboardShortcut.js
: support play a track in playlist app.new_feedback_ui
and search_in_sidebar
additional options: No longer customizable.minimal_ui
additional option: Alternative lightweight UI from Spotify. It's basically Web Player UI with some small differences.spicetify config minimal_ui 1
spicetify apply
and open via new button in bottom right.
Note: Not yet available for Spotify in Linux.
tastebuds
additional option: Testing feature in Minimal UI. Not yet usable for anyone. But when it is, you're the first to test. More info.spicetify config tastebuds 1
spicetify apply
then open Minimal UI, it locates at left sidebar.
SpicetifyDefault
theme for Minimal UI.Spicetify.showNotification
API method: #99auto
command: Automatically check Spotify state, backup and apply if needed, then run Spotify normally. Useful for being a shortcut to launch Spotify and ensure that Spotify always be spiced.
French translation for reddit
app
reddit
and bookmark
apps: glue.css missing bugNotes for Windows user: If you are having trouble with install.ps1
script because it requires Internet Explorer or Powershell 5, please use install_curl.ps1
curl.exe "https://raw.githubusercontent.com/khanhas/spicetify-cli/master/install_curl.ps1" -o install_curl.ps1
Invoke-Expression install_curl.ps1
glue.css
link. This modification purpose was to prevent Spotify loading same CSS file over and over again. Since it was adopted by Spotify in client version 1.1.15, we don't to do this trick anymore. #67color
command: should display all default colors when current_theme
config is blank.ContextMenu
: Create custom item and prepend to user right click menu. Check out its docs in global.d.ts.
spicetify config color_scheme Dark
spicetify apply
--quiet
. Was --quite
. #54 Thanks @StewartThomsonSpicetify.Player.next
and Spicetify.Player.previous
. #46 Thanks @StrazdonisAbility to shut off AdditionalFeatures: Most of options in AdditionalFeatures
section are features that are being tested by Spotify developers. They are automatically enabled in some groups of users, disabled on others. If you don't like one of these features at all, set it to -1
. https://github.com/khanhas/spicetify-cli/issues/28
Ability to print all colors, all paths, all config values or one of config value right in CLI. Check out spicetify -h
for usage.
keyboardShortcut.js
: Majority of keybinds are changed to comply with other keyboard-driven softwares. I also wrote a bit of documentation in extension file, check them out for current key combinations and add/change on your own.LibURI
-> URI
in spicetifyWrapper
. Spicetify.getAudioData
and Spicetify.getAblumArtColors
can be used normally now.made_for_you_hub
config option: This feature is now official and no longer customizable.color_scheme
config option: Change color schemes at ease with this new option. Simply put your schemes in same color.ini file in same theme, but in different sections. Example color.ini
:[Base]
main_fg = 1a73e8
secondary_fg = 5f5e68
main_bg = ffffff
...
[Dark]
main_fg = 8AB4F8
secondary_fg = BDC1C6
main_bg = 202124
...
[Green]
main_fg = C2D935
secondary_fg = DEDEDE
main_bg = 0A0E14
...
Now, if you want to change to [Dark]
scheme, run:
spicetify config color_scheme Dark
spicetify update
On default, color_scheme
option is blank. If color_scheme
option is blank, first section in color.ini will be used.
new_feedback_ui
config option: Enable new feedback UI with refreshing icons, text and buttons.search_in_sidebar
config option: Enable new search UI. Search button is also moved to sidebar.I just made a new theme for Spicetify for fun, it has a bit of Google style. Check it out if you like: https://github.com/khanhas/google-spicetify
color.ini
. #17pywal
to generate color scheme.${xrdb:<variable name>}
or ${xrdb:<variable name>:<fallback value>}
[Base]
main_fg = ${xrdb:color14}
secondary_fg = ${xrdb:foreground:#FFF}
main_bg = ${xrdb:background}
...
color.ini
${<variable name}
main_fg = ${LIGHT_GREY}
Note: Environment variables, not shell variables.
#FFF
, #544
Config directory is now customizable via environment variable SPICETIFY_CONFIG
. https://github.com/khanhas/spicetify-cli/issues/15
Overwriting assets feature and config overwrite_assets
option
Auto replacing Spotify's assets (like images, svg, fonts) or adding new ones with your own, for further customization. https://github.com/khanhas/spicetify-cli/issues/14
Simply put any new/edited assets in theme's assets
folder.
For example, I want to replace images/connect_devices.svg
file in zlink
folder:
$XDG_CONFIG_HOME
. If that variable is not available in environment, $HOME/config
will be used instead. https://github.com/khanhas/spicetify-cli/issues/12SPICETIFY_CONFIG
.spicetify config extensions bookmark.js
spicetify config custom_apps bookmark
spicetify apply
Command path
: Print path of theme's color.ini, user.css or extension or app and quit. Usage:
spicetify path color
spicetify path css
spicetify -e path <name>
spicetify -a path <name>
Extension Keyboard Shortcut
: New keybinds:
Automatically create Themes
, Extensions
, CustomApps
folders in user's .spicetify
folder if they doesn't exist.
apply
command.Spicetify.skipBack
and Spicetify.skipForward
wrong function call bug.Spicetify.getHeart
doesn't return value.SpicetifyDefault
: wrong color for sidebar_indicator_and_hover_button_bg
Command config
: Easily change one or multiple config values in command-line. Example usage:
spicetify config inject_css 0
spicetify config song_page 1 fastUser_switching 0
spicetify config extensions keyboardShortcut.js
Command color
: Easily change theme's one or multiple colors in command-line. Example usage:
spicetify color main_bg ff0000
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.
current_theme
is blank, spicetify will apply original Spotify colors and CSS. Same effect as set both inject_css
and replace_colors
to 0
.Spicetify.addToQueue
and Spicetify.removeFromQueue
: add supports for Local track and album URI.Published by khanhas over 5 years ago
spicetify-cli Homebrew install script is also updated.
brew install khanhas/tap/spicetify-cli
or
brew upgrade khanhas/tap/spicetify-cli
Published by khanhas over 5 years ago
stop_autoupdate
: Prevent Spotify to fetch and update new client version. Useful for anyone who want to keep their themes forever.spicetify restore backup apply
custom_apps
in config, separate them by |
[AdditionalOptions]
...
custom_apps = reddit