Git Product home page Git Product logo

spicetify / cli Goto Github PK

View Code? Open in Web Editor NEW
17.7K 99.0 706.0 6.51 MB

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

CSS 4.68% PowerShell 1.15% JavaScript 71.84% Go 21.63% Shell 0.70%
spotify customization golang macos linux windows command-line command-line-tool hacktoberfest spicetify-extensions

cli's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cli's Issues

Better Api-Documentation -- Questions

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.

Enabling the search bar

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.

DJ Mode

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?

Something like this for Discord?

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.

config.ini was not created

I tried installing it 3 times but every time it just did not create the config file, in normal mode as well as an Administrator.
image

Shuffle+ missing artist context

The Shuffle+ extension is missing a case (and shuffle algorithm I guess?) for artist shuffle.

To reproduce:

  1. Go to an artist page
  2. Click play
  3. Go to the queue
  4. Click Shuffle Context

Trying to make it work on Flatpak

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 ?

Spicetify Cli Installation Location

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!

[Windows] Update command wont run because user.css file not found.

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.

Thumbnail is sized incorrectly

The image is not display correctly, as well as the image in the view when you expand the image (though I can't click on the expand-icon now):

selection_999 1073

Sadly enable-devtool does not work for me, so I can't seem to investigate further.

running latest spicetify-cli on Linux Mint 18.1

Progress bar for Star Wars easter egg

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.

Add command to choose theme

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_

Error when running "apply" command

$ 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

How do I properly inject an extension?

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?

AdditionalOptions

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.

[macOS] Error when installing

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?

Cannot get trash icon to show up

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

Allow Themes to overwrite image assets

As Example the Connect Image in the SpicetifyDefaultTheme has a Dark Background.

image

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:
image

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 🤔

Update removes local themes

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.

Zombified Spotify ? Can´t play music.

Capture d’écran_2019-03-27_18-20-00
Capture d’écran_2019-03-27_18-21-03
Capture d’écran_2019-03-27_18-21-25
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 !

problems using the webnowplaying.js

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

Playlists not loading

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:
alt text
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.

detecting Spotify-Connect

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.

Allow a custom folder for the spicetify files

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.

I can't find the buttons in the queue for shuffle+

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:

Screen Shot 2019-05-20 at 14 58 29

I am using Spotify on Mac with version is 1.1.7.13766.gf9dc3904 with Spicetify v0.8.0

Media Shortcut + Command lIne Commands do not work

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

Cannot get to detect path though provided

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

Reload style without having to go to the app and press Cmd+Shift+R

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.

Trashbin.js gets in the way of new(-ish) Release Radar feature

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!

Pywal Variables

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.

Offer dark theme default

Currently the default theme provided is a light there. There is a dark theme example given in the README:

Would it be possible to also ship this with the current default theme? That way we have both a custom light theme and a custom dark theme.

Persistent stock css.

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.

image

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.

how to uninstall spicetify itself on MacOS ?

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.

Issue with Backup

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.

Spicetify update produces fatal error

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?

Weird now-playing cover art behavior

I recorded the behavior here.
https://gfycat.com/fairpopularimago

There is a horizontal section in the middle of the cover image that:

  • doesn't show the menu when right clicked
  • confines the enlarge button (only shows if I hover on the top or bottom part of the cover image) into the section

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.

Add more vim bindings to keyboardShortcut.js

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.

Global Shorcuts ?

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.

Use ~/.config/spicetify for configuration instead of ~/.spicetify

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.