diff options
| author | Robert Günzler <r@gnzler.io> | 2020-12-03 13:18:26 +0100 |
|---|---|---|
| committer | Robert Günzler <r@gnzler.io> | 2020-12-07 19:28:05 +0100 |
| commit | 2e573db1d00688df71a05563b864b07916d43146 (patch) | |
| tree | 08026a613e1271b5422d9e2f18a9996192592b5c /.config/waybar/modules | |
| parent | 45dedcd36fcb6b5ef5dc8f7cab0df8f8ffe00fd5 (diff) | |
waybar: change icons and reorder left-side modules
Diffstat (limited to '.config/waybar/modules')
| -rwxr-xr-x | .config/waybar/modules/mediaplayer.py | 18 |
1 files changed, 10 insertions, 8 deletions
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 = '<i>'+track_info+'</i>' 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: |