Currently Playing Spotify Song As Wallpaper only for Gnome Desktop
Once you stop the script, the wallpaper will be reset to the default one.
NOTE: if you wanna contribute, please, read the CONTRIBUTING.md file.
Spotify has UNILATERALLY changed its API policy, shutting down the possibility to reach certains endpoint for applications that hasn't been verified by Spotify itself. Here's the official statement: Spotify API Policy. As you can read in the Spotify Community Thread, no one is happy with these changes, and I can only agree with them.
There are 6 modes: Album Cover, Gradient (up-down and center-out), Blurred, Waveform, Controller and Lyric card. From now, you can choose which one to use by setting them using the settings
command in the CLI. Here are some examples:
- Download the repo
- Run
pip install -r requirements.txt
in terminal to install dependencies - Start listening to music on Spotify
- Create and fill 'creds.txt' in the main directory (more info below)
- Run src/main.py file
- Log in if web page comes up
- Copy link of web page after signing in and paste into terminal
- Enjoy!
Create a file called creds.txt
in the main directory and fill it with the following:
client_id = your_client_id
client_secret = your_client_secret
spot_username = your_spotify_username
- Go to https://developer.spotify.com/dashboard/applications
- Log in with your Spotify account
- Select 'Create an app'
- Choose a name and description for your app, then click 'Create'
- Click con 'Edit Settings' and set 'https://www.google.com/' as new redirect URI, then Save
- In the app page, copy the Client ID and Client Secret and paste them in the
creds.txt
file - Write your Spotify username in the
creds.txt
file - Save the file
Script automatically retrieve display dimension, using the first available in xrandr
: if your system doesn't have xrandr
installed, you can:
- Install it
- Modify the command the
WallpaperGenerator/wallpaper_generator.py
file, line39
, by adjusting the line with your preferred command to get the display dimension - Manually set the display dimension in the
WallpaperGenerator/wallpaper_generator.py
file, changing the line39
with your display dimension. For example, if your display is 1920x1080, you should change the line withself.display = (1920, 1080)
orself.display = ("1920", "1080")
.
-
Find a better way to check if colors are too similar -
Function that choose which color use as second one in each mode, based on some magic distance between colors -
Find a better way to leveling levels of loudness in waveform mode, so peaks are not too high compared to the rest of the image - Add new fonts
- Add new modes
- Let user choose some parameters (ex. colors, gradient direction, etc.) without editing the code or stop the script (WIP)
- Implement an actual control of the music, so you can pause, skip, etc. directly from the CLI
-
General optimization of the code - Add a GUI (too far from now, I think)
- Compatibility with other desktop environments (same as above)
- Convert the script in a GNOME extension
- Mobile version for Android