Skip to content

mkoreneff/i3spotifystatus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

i3spotifystatus

screen

About:

i3 status isn't particularly the best status generator for i3bar in terms of customization. But it's my favourite, because it works, it's easy to use, and it's bundled with i3wm so I don't have to think about installing it. Feature that lack I've been missing the most that wasn't built into i3status was notifying about author and title of currently played song in spotify client. I have found some gists written by @csssuf, and they work well, but due to format of data outputed by i3status all of the information about colors of text was lost and i3bar was showing only monochromatic text.

i3spotifystatus is a tiny python (with even smaller bash script because I was too lazy) script that parses JSON outputed by i3status, adds information about song author and title and outputs it to i3bar.

@mkoreneff This update uses python to access dbus, which means all the lifting is done in python and there is no longer a requirement for the awk or shell script.

What you'll need:

  • DBus
  • @csssuf's awk script, you can find it here
  • Spotify client (obviously)
  • You'll need FontAwesome if you want to display spotify logo on the bar.
  • python3

How to install:

  • clone repository to your prefered location
  • edit line 22 of pystatus.py and update spotify_client to your preferred splotify client
  • in your i3 config file (usually placed in ~/.config/i3/) set status_command to i3status | /path/to/your/pystatus.py in bar section, like this:
bar {
    status_command i3status | ~/Documents/GitHub/i3spotifystatus/pystatus.py
}

If you are using i3-gaps, it will probably contain the status_command i3status already. You just have to add the pipe and the python script path after.

  • in i3status.conf file (create one if you don't have any -> read i3status doc for more information) set output_format = "i3bar" inside the 'general' configuration, like this:
general {
    ...
    output_format = "i3bar"
    ...
}
  • Reload i3 configs (usually Mod + Shift + R, if you haven't changed it).

Tip: If you are not sure how this whole thing works, you can comment your config files using # at the beginning of each line. This way it is easy to revert the changes.

Credits:

Script is based on sample wrapper commited on original i3status repository.

Awk script by @csssuf.

DBus python updates by @mkoreneff
Inspiration for the python solution comes from kenogo/spotify-lyrics-cli

About

Python script parsing JSON i3status output and printing it to i3bar with added currently played spotify song.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 74.7%
  • Shell 17.2%
  • Awk 8.1%