編集:質問を直接作成し、投稿を短くするために、ほとんどの投稿を削除して再作成しました。もちろん、以前のバージョンの編集履歴も見ることができます。
Arch Linuxではbspwmを使用します。playerctl
メディアを制御するには、sxhkd
メディアキーをplayerctlコマンドにバインドします。
最新のアクティブメディアプレーヤーを取得する方法を見つけようとしているので、メディアキーを使用して曲/映画を再生/一時停止すると、コンピュータは自動的に最新のアクティブメディアプレーヤーを制御します。
たとえば、Spotifyがバックグラウンドで開いていてVLCで何かを見ているときにメディアキーを押すと、SpotifyがSpotifyの代わりにVLCを制御することがわかります。これで両方を開くと、VLCは常にplayerctlで優先順位を持ちます。
私にとって必要なのは、現在どのメディアプレーヤーが曲を再生しているかをdbusに尋ねてファイルに保存する方法です。
編集:以下を使用して、各SpotifyとVLCに要求する方法を見つけました。
qdbus org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlaybackStatus
そして
qdbus org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlaybackStatus
しかし、自動的に尋ねたいです。みんな各メディアプレーヤーの名前の代わりにメディアプレーヤーを使用してください。私はこれを試しましたが、org.mpris.MediaPlayer2.*
うまくいきません。
どんなアイデアがありますか?
ベストアンサー1
最新バージョンで利用可能プレーヤーコントロール。
playerctl -p playerctld play-pause
これにより、プレイヤーの活動を監視し、アクティブなプレイヤーにコマンドを発行する継続的なプロセスが開始されます。