playerctlを使ってpolybarにSpotifyの曲情報を表示する
https://gyazo.com/d6e7d25cd2ab142dc06c99efafa91974
Spotify Connectで同じプレイリストをデバイスを切り替えつつ再生できるのがかなりうれしい
ところで、曲を流してると、「この曲いいな、名前なんだろ/誰の曲なんだろ」ってなること、ありますよね
tosuke.iconはあります
tosuke.iconはこの手の情報をpolybarに表示するようにしているので、曲情報も表示させたい ネットワークの帯域(上り/下り)やCPUの温度と各コアごとの使用率、メモリの使用率など
https://gyazo.com/0b71ce534088a207cc65ed2d1e6ea2e0
よく調べると、SpotifyのLinuxクライアントはD-Bus経由での操作をサポートしているので、これを使うとAPIを叩いたり、トークンをどこに保存するか考えたり、トークンの有効期限を心配したり、レートリミットを心配したりする必要はなくなる SpotifyのLinuxはdeprecatedでそこそこバグもあるのでそれを使うのはどうかというのはあるが、Spotify Connectを使ってスピーカーとして動作させる分には問題ないし、別に新機能があるわけでもないしという気持ちがある
曲情報をフォーマットする機能がある上にtail -fして表示するための機能まであり、完璧だった
ここに適当にミニプレイヤー的な機能(再生/停止、前/次の曲への移動)を付けると、こんな感じ
code:polybar
type = custom/script
exec = playerctl -F metadata --format "{{ status }}: {{ artist }} / {{ title }}"
tail = true
click-left = "playerctl play-pause"
click-middle = "playerctl next"
scroll-up = playerctl previous
scroll-down = playerctl next
さらに環境に合わせてアイコン付けたり下線を付けたりして、できあがり
https://gyazo.com/d6e7d25cd2ab142dc06c99efafa91974
ドキュメントを見る限りではChromeとかも操作できるように見えるけど、謎