spicetify / cli Goto Github PK
View Code? Open in Web Editor NEWCommand-line tool to customize Spotify client. Supports Windows, MacOS, and Linux.
Home Page: https://spicetify.app
License: GNU Lesser General Public License v2.1
Command-line tool to customize Spotify client. Supports Windows, MacOS, and Linux.
Home Page: https://spicetify.app
License: GNU Lesser General Public License v2.1
Hi,
After having installed the pre-built package with PowerShell :
Invoke-WebRequest "https://raw.githubusercontent.com/khanhas/spicetify-cli/master/install.ps1" | Invoke-Expression
I specified the Spotify folder in config.ini
, which is C:\Users\me\AppData\Roaming\Spotify
, and then when running :
spicetify update
The following error appears :
fatal open C:\Users\me\AppData\Roaming\Spotify\Apps\zlink\css\user.css: The specified path does not exist.
In fact, there is no sub-folder in \Apps\
, only a couple (30 actually) .spa
files. Among them is zlink.spa
by the way.
The question is : Did I do something wrong or is the current installation guideline deprecated ?
Thanks for your time, keep up with this project.
I mentioned this over on the monstercat vis issue tracker, but if I patch Spotify, it won't update until I reboot, and then I have to patch over with the -cli again. IS this expected?
Would it be possible to make a youtube custom app to show the video clip of the playing song? Like https://github.com/marioortizmanero/spotify-videoclips/
I am currently using Spicetify Cli on Windows.
I was wondering if there is there a way to install Spicetify and decide where it installs and stores the config and other files?
Sorry in advanced if it possible and I just see it!
Spotify-Connect is driving me crasy. Is there any way to detect if a song is played on the device itself or the client is only used as an remove via spotify-connect.
With that information i could try to add some workarounds in my code or disable my functions wile a other device is playing.
Hi first of all i really like your program, it is great !
However i have a problem with how it works with the spotify core. The problem is i can only launch spotify by calling spicetify apply or spicetify restore, not with the normal client. When it try the later it only displays a dark window identified as spotify...
Also a what is i think a related issue : the media shortcuts do not work and : dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
does not work also..
Is this normal behavior and do i have to live with it or ...?
Thanks in advance
as a UI wrapper for the CLI
I am on Ubuntu 18.04. Everything went well with fresh installs of spotify(from .deb package as listed in the wiki) and spicetify.
When I tried to change padding for Header__content-wrapper
in ~/.config/spicetify/Themes/user.css
some of the elements reverted to stock css. Specifically the header background's gradient and the header title style.
I have tried deleting spicetify config folder, and reinstalling spotify, and following the steps in "Basic Usage" section in wiki again but it didn't work. Also tried following:
/* ~/.config/spicetify/Themes/user.css */
.Header__background .Header__background-color{
background-image: none !important;
}
in but it didn't work.
A good improvement could be to add a command (for example select) to apply an installed theme, such that running spicetify select _THEME_NAME_
will update config.ini
with _THEME_NAME_
On Mac, spicetify creates a non-hidden folder in my home folder (spicetify_data
) which I would love to be able to customize.
So maybe allow reading from a env var and use that location as fallback? I'm happy to create a PR if this is a feature you'd consider.
Hey,
Sorry but I can't find any information on this.
Wrote a simple extension which allows to hide/show the sidebar when clicked on a button.
It works properly if I just inject and invoke the function via DevTools but I can't figure out how to inject it on when Spotify loads.
I have placed my script in ./config/spicetify/Extensions
and added it to config.ini
like so:
extensions = menuToggle.js
Tried just executing it, attaching it to window.onload, executing with a timeout etc - no luck. It seems like the extension is not loaded (tested with leaving in some console.log() ).
Simplified version:
(function toggleMenu() {
function toggle() { };
function addBtn() { };
window.onload = () => { addBtn(); };
})();
Could you please point me in the right direction?
Where do people list themes they've built?
I recorded the behavior here.
https://gfycat.com/fairpopularimago
There is a horizontal section in the middle of the cover image that:
Clicking the top/bottom part of the section does not do anything.
I'm pretty sure the issue is within user.css but I'm not familiar with the code. Thanks for your time.
yay spicetify-cli
should be changed to yay -S spicetify-cli
As Example the Connect Image in the SpicetifyDefaultTheme has a Dark Background.
You can however achiev this already by manually copying the image from Extracted/Raw/zlink/images/connect_devices.svg
to Extracted/Themed/zlink/images/connect_devices.svg
and make some changes to the colors and it will look like this:
So maybe allow themes to include override for apps, like this Theme Folder / apps / zlink / images / spotify_connect.svg
to override that specific file.
And only allow images and css overrides 🤔
The Shuffle+ extension is missing a case (and shuffle algorithm I guess?) for artist shuffle.
To reproduce:
I modified the default theme. When I have updated spicetify my modifications disappeared.
I have installed spicetify from the AUR of Arch Linux, I don't know if this can be the problem.
Running spicetify apply gives the following error:
fatal remove /snap/spotify/current/usr/share/spotify/Apps/about.spa: read-only file system
I'm using Ubuntu 18.10.
$ sudo spicetify apply
> spicetify v0.9.2
> error Cannot detect Spotify "prefs" file location. Please manually set "prefs_path" in config.ini
Idk, maybe I'm just so stupid and doesn't found wiki page which describes what I need to do
This is my color.ini:
This is my user.css:
For some reason it doesn't apply the color.ini colors, as if the file wasn't even there. Do I have to do something special to apply those colors?
Hello - My playlists don't seem to be loading whilst using spicetify.
Meaning, when clicking a playlist, it loads forever and ever and ever.
If I restore to the original spotify, it works.
There are 2 errors in console:
but I don't really know if those are related and seem to happen upon client launch.
I am using the latest release, v0.9.2 on Arch Linux.
I'm having an issue in MacOS that is preventing a proper backup.
Backing up app files: OK Extracting: [31 / 31] OK Preprocessing: [30 / 31] stations fatal open /usr/local/bin/jsHelper: no such file or directory
Any commands there on out fail to work as well. For example, update, which says that it cannot find the default theme.
when i click on show abba tools it takes me to a blank page
After injecting this extension, go to Queue and you can find 2 new buttons at page header: - Shuffle Context: detect current context and shuffle all its item.
This is what I changed in my config file:
extensions= shuffle+.js|queueAll.js
Here's what the queue looks like:
I am using Spotify on Mac with version is 1.1.7.13766.gf9dc3904 with Spicetify v0.8.0
I wrote a script that lets me switch between dark mode on spicetify by changing the color file(swap them) by pressing a hotkey, which functions also as dark mode switching in other apps. But in order to update the style, I will have to bring up the app active and press the Cmd+Shift+R. My current workaround is to make the script switch to the Spotify window and send keystrokes and then switch it back. It works but I was wondering if there is a more efficient way this can be done.
I need to arrange files in my computer and for that I have to uninstall spicetify first. But I can not find the match command to do that.
Is there any way to uninstall spicetify on MacOS?
Thank you.
Since I installed spicetify the search has moved to the sidebar. However, i would like to have the little search bar near the top of the window.
search_in_sidebar is already set to 0 in ~/.config/spicetify/config.ini
I'm on Manjaro using the latest AUR spotify and spicetify package.
When I was installing spicetify with brew install khanhas/tap/spicetify-cli
, I got following error log:
Last 15 lines from /Users/alex/Library/Logs/Homebrew/spicetify-cli/01.go:
2019-08-02 11:06:35 +0900
go
build
-o
spicetify
go: finding github.com/go-ini/ini v1.42.0
go: finding github.com/mattn/go-colorable v0.1.1
go: finding github.com/mattn/go-isatty v0.0.5
go: golang.org/x/[email protected]: unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
go: error loading module requirements
Do not report this issue to Homebrew/brew or Homebrew/core!
And I tried to manually access the address golang.org/x/[email protected]
, but just got a 404 not found. Seems like this tag of release has been deleted?
First of all, thank you a lot for this tool. I used to have it on Rainmeter but I prefere console :)
I'm somewhat sure both Spotify and Discord run on Electron. Would it be possible to have this tool, or something like this, for Discord too?
Many thanks,
Lucas.
When in DJ mode, you can still double click which plays the song. Any chance double click could be disabled when Hide controls is enabled? Or that double clicking a song would add it to the queue?
I'm not sure this is the right spot to be asking for help, but my google skills have failed me.
I have Spicetify installed, and the skins work, but I cannot figure out how to get the trash plugin to work.
Config file line was edited to this "extensions = trashbin.js|", also tried without the | symbol.
The .Js file is in both the .spicetify folder and the spicetify cli folder
I have been trying to make it work on Flatpak installation of Spotify but looks like css is packed differently.
Is there any workaround for this ?
When I pause/play/skip track it takes a while to respond to my action (upwards of 20 seconds). Is this normal?
There is a tool called Pywal which generates colors from the current wallpaper. https://github.com/dylanaraps/pywal Color variables are stored in the .Xresources file, so would you know a way to use those variables in the colors.ini file?
I have tried to use ${xrdb:color0:#fff}
and an enivornment variable.
So, after installing it, configured it and everything without no issues at all. (Outside of reinstalling Spotify the way it is explained), I´ve been able to apply Spicetify with some extensions and config settings flawlessly.
However.. Let´s say that Spotify has died just at that moment. Isn´t able to access to the account history, albums and some other settings. (But strangely can´t still has the recent playlist, and custom made ones for example).
I´ve did tested if it wasn´t a network issue by testing with my smartphone, everything work well, and it synchonise nicely on the app too. You can even control the phone music feed ! But, once you decide to switch to the PC. Nope, doesn´t work.
Another weird thing, It can´t even play local files...
And well, what´s wrong, is that removing the configuration does make it work great again !
I have problems using the webnowplaying.js
I like to use it for a custom plugin in a python programm but im not able to connect to the ws-port and im not sure if your extensions is registerted correctly.
I have tried to connect with wscat via commandline without success:
[fleixi@daisy ~]$ wscat -c ws://127.0.0.1:8974/
error: connect ECONNREFUSED 127.0.0.1:8974
Is there a way to check if a extensions is loaded correctly in spotify?
My config:
[fleixi@daisy ~]$ cat /home/fleixi/.config/spicetify/config.ini
[Setting]
color_scheme = Base
inject_css = 0
replace_colors = 0
overwrite_assets = 0
spotify_path = /opt/spotify
prefs_path = /home/fleixi/.config/spotify/prefs
current_theme =
[Preprocesses]
disable_sentry = 1
disable_ui_logging = 1
remove_rtl_rule = 1
expose_apis = 1
[AdditionalOptions]
visualization_high_framerate = 0
custom_apps =
experimental_features = 0
fastUser_switching = 0
lyric_always_show = 0
lyric_force_no_sync = 0
radio = 0
song_page = 0
home = 0
made_for_you_hub = 0
new_feedback_ui = 0
search_in_sidebar = 0
extensions = autoSkipVideo.js|queueAll.js|trashbin.js|webnowplaying.js
; DO NOT CHANGE!
[Backup]
version = 1.1.5.153.gf614956d
Hi! Love the project!
The Trashbin.js extension is great but it interferes with the button that appears on Release Radar for blocking certain songs/artists. Because both buttons are in the same place, yours takes precedence due to the other first opening a context menu.
Could you please add a presence check for the existing button and if so offset the trash button, or optionally remove it altogether when it's present since this feature is similar in functionality?
Thanks!
Running spicetify update produces:
spicetify v0.6.0
fatal open /Applications/Spotify.app/Contents/Resources/Apps/zlink/css/user.css: no such file or directory
All previous steps were successfully completed using homebrew on OSX. spicetify_data folder only has Backup, Extracted, and config.ini in it. No themes folder, am I supposed to manually add?
Hi,
I have installed Spotify from Ubuntu App Store
Spicetify via your manual guide of downloading zip file then placing it etc. etc.
Spotify works normally
Spicetify is installed properly
but it can't find spotify's path
These I guess are my Spotify's paths:
/home//snap/spotify
/home//snap/spotify/35/.config/spotify
/home//snap/spotify/common/.cache/spotify
This is the spicetify config file (which I'm editing):
/home//.config/spicetify/config.ini
AND THIS IS THE CONFIG FILE THAT IS EDITED:
[Setting]
overwrite_assets = 0
spotify_path =
prefs_path = /home//snap/spotify
current_theme = ShadowStyle
color_scheme =
inject_css = 1
replace_colors = 1
[Preprocesses]
disable_sentry = 1
disable_ui_logging = 1
remove_rtl_rule = 1
expose_apis = 1
[AdditionalOptions]
experimental_features = 0
lyric_always_show = 0
lyric_force_no_sync = 0
made_for_you_hub = 0
extensions =
fastUser_switching = 0
home = 0
new_feedback_ui = 0
radio = 0
search_in_sidebar = 0
song_page = 0
visualization_high_framerate = 0
custom_apps =
; DO NOT CHANGE!
[Backup]
version =
the output of find | grep "spotify/prefs$" command:
find: ‘./.config/Thunar’: Permission denied
find: ‘./.config/xfce4/xfconf/xfce-perchannel-xml’: Permission denied
find: ‘./.dbus’: Permission denied
find: ‘./.gvfs’: Permission denied
find: ‘./.cache/dconf’: Permission denied
./snap/spotify/35/.config/spotify/prefs
Hi, i would like to know if there is a way to make the shorcuts works globally, even when spotify isn't in focus. i have no multimedia keys so this would be very helpful.
Regards.
The keybindings extension rocks! Excellent way to incoperate spotify into my more keyboard focused workflow (which could be a reason to bring more such nerds to this app).
It would be great if keyboardShortcut.js
provided even more vim shortcuts, though. I especially miss a way to go back one page, and to some extent I want to be able to go the top/bottom of the page. I propose modeling these shortcuts based on qutebrowser, a vim-inspired web browser. So going forward/backward would be shift+h/l
, jumping to the bottom/top would be g/G
. For consistency, follow should be f
(see also zathura, the vim inspired pdf reader) instead of what it is now. Maybe /
for focusing the search bar as well?
My javascript is sort of eh so I won't be able to do it myself, at least not until some later time.
The star wars lightsaber easter egg has a different progress bar. If you play star wars songs, the progress bar becomes a lightsaber. This lightsaber is out of position with the DefaultTheme. Also, the DefaultTheme seems to try to hide the new playlist creation button, but it ends up showing anyway.
It's common practice to have user configuration files for Linux applications in ~/.config
(for example: pcmanfm, polybar, GTK, Qt, redshift, rofi, ranger, xfce). There's no reason to have spicetify use its own ~/.spicetify
directory, as it's another hidden file cluttering up ~
. I suggest that Spicetify start using ~/.config/spicetify
to conform with configuration file location convention.
made_for_you_hub = 0
radio = 0
With the above in place, radio and made for you options still displayed in sidebar. Any way to also remove Podcast from sidebar?
Thanks.
I know this is a issues-tracker no helpdesk but i struggle to understand the exposed api and i dont find a place for questions
Im working on a kodi-addon to control/sync the playback from both using ur example in webnowplaying.js. Basic playback (syncing time,play,pause,next,prev, show playlist in kodi) are working already but now i like to allow the user to select a spotify-track inside kodis current playlist to jump to this track in spotify.
I think i need to use "PlaybackControl" but i dont understand what parameter i need to pass to it. Or is there a better way to jump to a track in the current playlist.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.