Use playerctl or dbus to get the latest active media player

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite
1












Before I switched to bspwm, I used KDE/Plasma 5. In KDE, I could use my media keys to play/pause, etc in vlc, spotify and even in Firefox with an addon (youtube, netflix, pretty much everything worked). When both VLC, Firefox and Spotify were open, the media keys controlled the last used player, regardless if the window is open or not.



I'd like to get the same functionality in bspwm.



Right now I'm using playerctl -p spotify play-pause to control spotify, which is bound to XF86AudioPlay in sxhkdrc. I'd also like to do this with VLC, but playerctl needs to know which player to play/pause, if both are open.



Is there a way to get the same KDE/Plasma functionality for both VLC, Firefox and Spotify? If not, is there a way to determine which player was last active? That way I could write a script to play/pause only the last active player.




EDIT:



Looks like the Plasma Integration add-on for firefox still works with playerctl and bspwm, so sites like Youtube still respond to controls, great!



What I only need now is a way to get the latest active player, so when Spotify happens to be open in the background and I'm watching something on VLC, it knows to control VLC and not Spotify when I press media keys.



playerctl -l when multiple media players are open shows me that Plasma Browser Integration is always on top, meaning that will always have top priority with media keys. Second is VLC, third is Spotify.










share|improve this question



























    up vote
    1
    down vote

    favorite
    1












    Before I switched to bspwm, I used KDE/Plasma 5. In KDE, I could use my media keys to play/pause, etc in vlc, spotify and even in Firefox with an addon (youtube, netflix, pretty much everything worked). When both VLC, Firefox and Spotify were open, the media keys controlled the last used player, regardless if the window is open or not.



    I'd like to get the same functionality in bspwm.



    Right now I'm using playerctl -p spotify play-pause to control spotify, which is bound to XF86AudioPlay in sxhkdrc. I'd also like to do this with VLC, but playerctl needs to know which player to play/pause, if both are open.



    Is there a way to get the same KDE/Plasma functionality for both VLC, Firefox and Spotify? If not, is there a way to determine which player was last active? That way I could write a script to play/pause only the last active player.




    EDIT:



    Looks like the Plasma Integration add-on for firefox still works with playerctl and bspwm, so sites like Youtube still respond to controls, great!



    What I only need now is a way to get the latest active player, so when Spotify happens to be open in the background and I'm watching something on VLC, it knows to control VLC and not Spotify when I press media keys.



    playerctl -l when multiple media players are open shows me that Plasma Browser Integration is always on top, meaning that will always have top priority with media keys. Second is VLC, third is Spotify.










    share|improve this question

























      up vote
      1
      down vote

      favorite
      1









      up vote
      1
      down vote

      favorite
      1






      1





      Before I switched to bspwm, I used KDE/Plasma 5. In KDE, I could use my media keys to play/pause, etc in vlc, spotify and even in Firefox with an addon (youtube, netflix, pretty much everything worked). When both VLC, Firefox and Spotify were open, the media keys controlled the last used player, regardless if the window is open or not.



      I'd like to get the same functionality in bspwm.



      Right now I'm using playerctl -p spotify play-pause to control spotify, which is bound to XF86AudioPlay in sxhkdrc. I'd also like to do this with VLC, but playerctl needs to know which player to play/pause, if both are open.



      Is there a way to get the same KDE/Plasma functionality for both VLC, Firefox and Spotify? If not, is there a way to determine which player was last active? That way I could write a script to play/pause only the last active player.




      EDIT:



      Looks like the Plasma Integration add-on for firefox still works with playerctl and bspwm, so sites like Youtube still respond to controls, great!



      What I only need now is a way to get the latest active player, so when Spotify happens to be open in the background and I'm watching something on VLC, it knows to control VLC and not Spotify when I press media keys.



      playerctl -l when multiple media players are open shows me that Plasma Browser Integration is always on top, meaning that will always have top priority with media keys. Second is VLC, third is Spotify.










      share|improve this question















      Before I switched to bspwm, I used KDE/Plasma 5. In KDE, I could use my media keys to play/pause, etc in vlc, spotify and even in Firefox with an addon (youtube, netflix, pretty much everything worked). When both VLC, Firefox and Spotify were open, the media keys controlled the last used player, regardless if the window is open or not.



      I'd like to get the same functionality in bspwm.



      Right now I'm using playerctl -p spotify play-pause to control spotify, which is bound to XF86AudioPlay in sxhkdrc. I'd also like to do this with VLC, but playerctl needs to know which player to play/pause, if both are open.



      Is there a way to get the same KDE/Plasma functionality for both VLC, Firefox and Spotify? If not, is there a way to determine which player was last active? That way I could write a script to play/pause only the last active player.




      EDIT:



      Looks like the Plasma Integration add-on for firefox still works with playerctl and bspwm, so sites like Youtube still respond to controls, great!



      What I only need now is a way to get the latest active player, so when Spotify happens to be open in the background and I'm watching something on VLC, it knows to control VLC and not Spotify when I press media keys.



      playerctl -l when multiple media players are open shows me that Plasma Browser Integration is always on top, meaning that will always have top priority with media keys. Second is VLC, third is Spotify.







      d-bus vlc mediaplayer bspwm






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 8 mins ago

























      asked Oct 25 at 19:33









      zjeffer

      336




      336

























          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f477823%2fuse-playerctl-or-dbus-to-get-the-latest-active-media-player%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f477823%2fuse-playerctl-or-dbus-to-get-the-latest-active-media-player%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Displaying single band from multi-band raster using QGIS

          How many registers does an x86_64 CPU actually have?