def __init__(self): self.player = None for player in Playerctl.list_players(): self.on_name_appeared(None, player) self.player_manager = Playerctl.PlayerManager() self.player_manager.connect('name-appeared', self.on_name_appeared) self.player_manager.connect('name-vanished', self.on_name_vanished) print('{}'.format(STOPPED), flush=True) self.main = GLib.MainLoop() self.main.run()
normalize("NFD", value).encode("ascii", "ignore")).strip() if __name__ == "__main__": import gi gi.require_version("Playerctl", "2.0") from gi.repository import Playerctl, GLib try: player = None while not player: try: player = Playerctl.Player.new_from_name( Playerctl.list_players()[0]) except IndexError: sleep(0.1) with Display(brightness=1) as display: def on_metadata(player, metadata): """ Print track information on track change. Args: player (Playerctl.Player): Player instance. metadata (dict): MPRIS metadata """ display_text = b"\n".join( (b" | ".join((value for value in row if value))