commit
3c751882d2
52
i3pystatus/pianobar.py
Normal file
52
i3pystatus/pianobar.py
Normal file
@ -0,0 +1,52 @@
|
||||
from i3pystatus import IntervalModule
|
||||
|
||||
|
||||
class Pianobar(IntervalModule):
|
||||
"""
|
||||
Shows the title and artist name of the current music
|
||||
|
||||
In pianobar config file must be setted the fifo and event_command options
|
||||
(see man pianobar for more information)
|
||||
|
||||
For the event_cmd use:
|
||||
https://github.com/jlucchese/pianobar/blob/master/contrib/pianobar-song-i3.sh
|
||||
|
||||
Mouse events:
|
||||
- Left click play/pauses
|
||||
- Right click plays next song
|
||||
- Scroll up/down changes volume
|
||||
"""
|
||||
|
||||
settings = (
|
||||
("format"),
|
||||
("songfile", "File generated by pianobar eventcmd"),
|
||||
("ctlfile", "Pianobar fifo file"),
|
||||
("color", "The color of the text"),
|
||||
)
|
||||
format = "{songtitle} -- {songartist}"
|
||||
required = ("format", "songfile", "ctlfile")
|
||||
color = "#FFFFFF"
|
||||
|
||||
def run(self):
|
||||
with open(self.songfile, "r") as f:
|
||||
contents = f.readlines()
|
||||
|
||||
sn = contents[0].strip()
|
||||
sa = contents[1].strip()
|
||||
|
||||
self.output = {
|
||||
"full_text": self.format.format(songtitle=sn, songartist=sa),
|
||||
"color": self.color
|
||||
}
|
||||
|
||||
def on_leftclick(self):
|
||||
open(self.ctlfile, "w").write("p")
|
||||
|
||||
def on_rightclick(self):
|
||||
open(self.ctlfile, "w").write("n")
|
||||
|
||||
def on_upscroll(self):
|
||||
open(self.ctlfile, "w").write(")")
|
||||
|
||||
def on_downscroll(self):
|
||||
open(self.ctlfile, "w").write("(")
|
Loading…
Reference in New Issue
Block a user