Skip to main content

Rofi menu script that controls spotify playback.

Project description

Rofify

Spotify Menu in Rofi

This app is intended to provide an alternative method for controlling spotify playback. It's inspired by the terminal application SpoTUI, and makes heavy use of spotipy and python-rofi-menu. The included theme is based on the the rofi themes by adi1090x.

selecting from a playlist in rofify

Before you attempt to install this, it's worth noting that, at present, you need spotify premium in order to use this. You will need create an app on the spotify devolper site (go to dashboard, then create an app).

To install the package run:

pip install rofify

Setup

You will need to add a few items to the configuration to get started. To create the a config file at .config/rofify/config you can run:

python -m rofify --create-config

In the config file you will need to set the values for username, client_id and client_secret. The client_id and client_secret can be obtained on your application page on developer.spotify.com. Redirect_uri can be left the same, unless you have changed it in the application settings on developer.spotify.com.

Next, run:

python -m rofify --create-token

This is required, as the authentication uses this token in every reuqest made. This creates a token using the path specified by 'cache_path' in the config file.

Try and see if the package is working by typing running Rofi:

rofi -modi spotify:"python -m rofify" -show spotify

Hotkeys

If you want to run rofify with hotkeys you'll need to create or modify custom key bindings in your rofi config. For example:

! Previous track
rofi.kb-custom-1:   Super+Left

! Next track
rofi.kb-custom-2:   Super+Right

! Toggle pause/play
rofi.kb-custom-3:   Super+space

! Toggle shuffle
rofi.kb-custom-4:   Super+s

! Cycle repeat state
rofi.kb-custom-5:   Super+r

These are convenient keybindings for me, but some experimentation might be needed depending on your setup. Make sure that any keybinding you use isn't already used by another default rofi keybinding or it will throw an error (you can get a full list of the config options by running rofi -dump-config).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rofify-0.0.41.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rofify-0.0.41-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file rofify-0.0.41.tar.gz.

File metadata

  • Download URL: rofify-0.0.41.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for rofify-0.0.41.tar.gz
Algorithm Hash digest
SHA256 6e38d82d3af7e66ca3b9d40b651ab81f6b5a77275ea42df98a6b59f8adcd0500
MD5 ab523208479db73b85a52e26421c0126
BLAKE2b-256 3a7680ff5adc84100aeef64f0f3d03a3063d5ab51bafa29716dc14b4f778928e

See more details on using hashes here.

File details

Details for the file rofify-0.0.41-py3-none-any.whl.

File metadata

  • Download URL: rofify-0.0.41-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for rofify-0.0.41-py3-none-any.whl
Algorithm Hash digest
SHA256 9d5f097dec4671d97bb47b35b217bf72ca7db0bf17ba6ae23a2ca2a1f8f4a3da
MD5 c8be7164ce3155a023fa8efc2cbeb811
BLAKE2b-256 85dd47dc97e01a76dbd60fce742393610f93e2b16b4b9bdadc8d00920b163d18

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page