9 个版本
0.2.5 | 2024年4月27日 |
---|---|
0.2.4 | 2023年5月20日 |
0.2.3 | 2022年5月29日 |
0.2.2 | 2022年4月29日 |
0.1.2 | 2022年4月25日 |
在 命令行工具 中排名第 595
49KB
1K SLoC
Spotifatius
Spotify + 状态 + 一些拉丁文 = Spotifatius。
一个简单的 Spotify CLI,主要用于监控您正在收听的曲目,并在您选择的工具栏(如 waybar 或 polybar)中显示。
用法
首先确保在您的 shell 环境中设置了 RSPOTIFY_CLIENT_ID
和 RSPOTIFY_CLIENT_SECRET
环境变量。它们需要包含 Spotify 开发者客户端 ID 和密钥。按照 Spotify 开发者文档 进行设置,确保重定向 URI 设置为 https://127.0.0.1
。完成后,运行一次 spotifatius monitor
以设置 Spotify 访问令牌
$ spotifatius monitor
Opened https://accounts.spotify.com/authorize?[...] in your browser.
Please enter the URL you were redirected to:
[INSERT URL HERE]
{"text":"Twenty One Pilots - Bounce Man","tooltip":"Scaled And Icy","class":["playing"]}
从那时起,此步骤将不再需要。您可以将 spotifatius monitor
添加到您最喜欢的工具栏中,查看 工具栏集成。该命令的第一次调用将启动其他命令所需的服务器。如果已经有一个服务器正在运行,它将镜像该服务器的输出,这在您希望在多个显示器上显示监控时非常有用。
要切换任何地方的喜爱状态,请使用 toggle-liked
。
$ spotifatius toggle-liked
Added to library!
这将更新监控服务器/客户端
{"text":"Added to library!","class":["added"]}
{"text":"Twenty One Pilots + Bounce Man","tooltip":"Scaled And Icy","class":["liked","playing"]}
再次执行此操作将删除喜爱状态
$ spotifatius toggle-liked
Removed from library!
{"text":"Removed from library!","class":["removed"]}
{"text":"Twenty One Pilots - Bounce Man","tooltip":"Scaled And Icy","class":["playing"]}
喜爱歌曲在艺术家和歌曲标题之间有 +
而不是 -
。
工具栏集成
以下是支持的工具栏的配置示例。
Waybar
添加以下内容以使其作为模块可用
"custom/spotify": {
"format": "{}",
"return-type": "json",
"on-click-right": "spotifatius toggle-liked",
"exec": "spotifatius monitor"
}
以下类受支持
playing
:当前歌曲正在播放。paused
:当前歌曲已暂停。stopped
:当前歌曲已停止。liked
:当前歌曲在您的喜爱歌曲列表中。added
:显示一条消息,说明歌曲已被添加到您喜欢的歌曲中。removed
:显示一条消息,说明歌曲已被从您喜欢的歌曲中移除。
Polybar
[module/spotify]
type = custom/script
exec = spotifatius monitor --output-type polybar
tail = true
click-right = spotifatius toggle-liked
Polybar 将 waybar 的输出类别映射到您可以在配置文件 ~/.config/spotifatius/config.toml
中定义的颜色。
[polybar]
[polybar.colors]
# added = ""
# liked = ""
paused = "#6E6E6E"
playing = "#CECECE"
# removed = ""
默认情况下,polybar 没有设置颜色。
一些示例输出
$ spotifatius monitor --output-type polybar
# Output for playing unliked song.
%{F#CECECE}Twenty One Pilots - Bounce Man%{F-}
# Output for playing liked song.
%{F#CECECE}Twenty One Pilots + Bounce Man%{F-}
# Output for paused liked song.
%{F#6E6E6E}Twenty One Pilots + Bounce Man%{F-}
Server/Client via gRPC
Spotifatius 的监控命令默认开启,因为有一个 gRPC 服务器正在流式传输监控更新,请参阅 proto/service.proto。如果监控实例检测到端口已被另一个监控实例使用,它将开始通过 gRPC 监听,以确保所有实例保持同步。截至编写本文时,关闭服务器实例也将关闭客户端。
安装
如果您希望 spotifatius 可在您发行版的包管理器上使用,如果您有时间帮助,请随意提交一个问题。
Arch 用户仓库 (AUR)
paru -S spotifatius
Cargo (crates.io)
cargo install spotifatius --locked
手动
git clone [email protected]:AndreasBackx/spotifatius.git
cd spotifatius
cargo install --path . --locked
日志记录
使用 RUST_LOG
传递 trace
、debug
、info
、warn
或 error
来设置日志级别,默认为 error
。有关更多信息,请参阅 tracing-subcriber 文档。
依赖关系
~20–39MB
~559K SLoC