From 2e573db1d00688df71a05563b864b07916d43146 Mon Sep 17 00:00:00 2001 From: Robert Günzler Date: Thu, 3 Dec 2020 13:18:26 +0100 Subject: waybar: change icons and reorder left-side modules --- .config/waybar/modules/mediaplayer.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to '.config/waybar/modules/mediaplayer.py') diff --git a/.config/waybar/modules/mediaplayer.py b/.config/waybar/modules/mediaplayer.py index 4d80ffa..8082825 100755 --- a/.config/waybar/modules/mediaplayer.py +++ b/.config/waybar/modules/mediaplayer.py @@ -7,6 +7,7 @@ import signal import sys from datetime import timedelta from math import floor +import prctl # yapf: disable import gi @@ -15,17 +16,16 @@ from gi.repository import GLib, Playerctl # yapf: enable logger = logging.getLogger(__name__) - +loop = GLib.MainLoop() def write_output(text, player): logger.info('Writing output') output = { 'text': text, - 'class': 'custom-' + player.props.player_name, + 'class': player.props.player_name, 'alt': player.props.player_name } - sys.stdout.write(json.dumps(output) + '\n') sys.stdout.flush() @@ -59,7 +59,7 @@ def on_metadata(player, metadata, manager): track_info = '{} ({})'.format(track_info, str(dur)) if player.props.status == 'Paused' and track_info: - track_info = ' ' + track_info + track_info = ''+track_info+'' if player.props.status == 'Stopped': return @@ -97,10 +97,10 @@ def init_player(manager, name): def signal_handler(sig, frame): - logger.debug('Received signal to stop, exiting') + logger.warning('Received signal to stop, exiting') sys.stdout.write('\n') sys.stdout.flush() - # loop.quit() + loop.quit() sys.exit(0) @@ -138,14 +138,16 @@ def main(): logger.debug('Arguments received {}'.format(vars(arguments))) manager = Playerctl.PlayerManager() - loop = GLib.MainLoop() - manager.connect('name-appeared', lambda *args: on_player_appeared(*args, arguments.player, arguments.ignore)) manager.connect('player-vanished', on_player_vanished) + # set the process up to die when the parent exits + prctl.set_pdeathsig(signal.SIGTERM) + signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_handler) + signal.signal(signal.SIGHUP, signal_handler) for player in manager.props.player_names: if arguments.player is not None and arguments.player != player.name: -- cgit 1.4.1