summary refs log tree commit diff
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2020-04-10 14:24:42 +0200
committerRobert Günzler <r@gnzler.io>2020-04-10 14:24:42 +0200
commit14c0cd43711b107c2c8be54fc479e8411cc7b278 (patch)
tree7f668593798da4e2a4b3e40a3b791570cc5700e1
parentbec38a9f229286cea97d3943873342bf38c4cdbb (diff)
waybar: improve player filtering in mediaplayer.py
-rw-r--r--.config/waybar/config2
-rwxr-xr-x.config/waybar/mediaplayer.py9
2 files changed, 6 insertions, 5 deletions
diff --git a/.config/waybar/config b/.config/waybar/config
index 2278f02..f772b6b 100644
--- a/.config/waybar/config
+++ b/.config/waybar/config
@@ -123,7 +123,7 @@
         },
         "on-click": "sway [workspace=$wsMusic] focus",
         "escape": false,
-        "exec": "$HOME/.config/waybar/mediaplayer.py -I chromium 2> /dev/null"
+        "exec": "$HOME/.config/waybar/mediaplayer.py -I chromium -I firefox 2> /dev/null"
     },
     "custom/toggl": {
         "exec": "$HOME/.config/waybar/toggl.lua 2>/dev/null",
diff --git a/.config/waybar/mediaplayer.py b/.config/waybar/mediaplayer.py
index ce2314d..4d80ffa 100755
--- a/.config/waybar/mediaplayer.py
+++ b/.config/waybar/mediaplayer.py
@@ -71,9 +71,10 @@ def on_metadata(player, metadata, manager):
     write_output(track_info, player)
 
 
-def on_player_appeared(manager, player, selected_player=None):
-    if player is not None and (selected_player is None
-                               or player.name == selected_player):
+def on_player_appeared(manager, player, selected_player=None, ignored_players=None):
+    if player is not None \
+            and (selected_player is None or player.name == selected_player) \
+            and not (player.name in ignored_players):
         init_player(manager, player)
     else:
         logger.debug(
@@ -140,7 +141,7 @@ def main():
     loop = GLib.MainLoop()
 
     manager.connect('name-appeared',
-                    lambda *args: on_player_appeared(*args, arguments.player))
+                    lambda *args: on_player_appeared(*args, arguments.player, arguments.ignore))
     manager.connect('player-vanished', on_player_vanished)
 
     signal.signal(signal.SIGINT, signal_handler)