summary refs log tree commit diff
path: root/.config/waybar/modules/mediaplayer.py
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-12-03 13:18:26 +0100
committerRobert Günzler <r@gnzler.io>2020-12-07 19:28:05 +0100
commit2e573db1d00688df71a05563b864b07916d43146 (patch)
tree08026a613e1271b5422d9e2f18a9996192592b5c /.config/waybar/modules/mediaplayer.py
parent45dedcd36fcb6b5ef5dc8f7cab0df8f8ffe00fd5 (diff)
waybar: change icons and reorder left-side modules
Diffstat (limited to '.config/waybar/modules/mediaplayer.py')
-rwxr-xr-x.config/waybar/modules/mediaplayer.py18
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: