对于使用Spotify作为主力音乐流媒体的人来说,Spotify官方的桌面app体验并不是很好,无法看歌词,而且UI水平对于我个人审美来说感觉并不是很好看。

Spotify 第三方客户端
Spotify webUI
这时候就要选择第三方的Spotify客户端了,或者也可以使用Spotify的webUI然后使用美化插件,我webUI使用的Arc浏览器搭配上Gallery美化,其实最后的效果还可以,而且很轻量化,除了没法看歌词都很完美。

Spotify TUI
但是webUI到底还是官方的UI而且没法看歌词,而且作为重度终端使用者,还是希望在终端上使用Spotify。我选择使用的是spotify_player一个用rust开发的开源的Spotify TUI,使用vim的键位并且在iTerm2中可以显示专辑封面,同时也可以在配置文件~/.config/spotify-player/app.toml中进行自定义。

Spotify Lyrics
接下来要解决官方客户端无法看歌词的问题,我们可以使用sptlrx这个开源的终端歌词同步软件,搭配spotify_player使用可以看当前歌曲的歌词。

Custom Your TUI
这样我们就实现了在终端上使用Spotify并且显示滚动歌词,同时搭配cava(一个Audio Visualizer,依赖backgroud Music实现),最后使用tty-clock为整个布局点缀一下,就可以实现封面的效果了。

Optimization
虽然这样布局很不错,但是每次都要手动分屏很麻烦,能不能实现在终端敲一个命令自动分屏布局并且每个pane自动执行对应的命令呢,当然是可以的啦。
我一开始选择使用tmux和tmuxp这样就可以用yml配置文件写好tmux session布局并且在对应的pane执行不同的命令,但是研究了一下tmuxp发现好像无法实现封面那样的复杂布局,只有几个预设的布局,而且tmux无法显示超过1M大小的图片所以spotify_player无法显示图片。
所以最后另辟蹊径,使用AppleScript直接对iTerm2进行布局。
|
|
这样将AppleScript保存为scpt文件,只需要在终端中用osascript scpt文件路径执行AppleScript脚本就可以实现一键布局啦。如果嫌每次输osascript命令很麻烦,在~/.zshrc中用alias映射一下命令或者写个shell脚本添加到环境变量就可以啦。
这就是最后的效果啦。
- 如果要使用本教程需要会一点
Unix-like系统的操作,最基础的ls cd这些需要会使用,如果是Mac则要安装Homebrew作为包管理器,方便管理和安装。- 如果要使用
spotify_player需要一个Spotify的会员账号,并且去dev spotify申请一个client id。