命令行Spotify歌词与专辑封面

yet-another-spotify-lyrics的Python项目详细描述


又一个Spotify命令行歌词

Lyrics-Screenshot

要求

  • Linux系统
  • Python>;=3.6
  • 尤伯祖格
  • dbus python
  • 请求
  • 美丽之旅4
  • lxml公司

安装

从PyPI

pip3 install yet-another-spotify-lyrics --user

来源

^{pr2}$

使用

Usage Gif

spotify-lyrics

键绑定

ActionKeybinding
Scroll Upk
Scroll Downj
Beginning of Lyricsgg
End of LyricsG
Edit Lyricse
Refreshr
Togglet
Nextn
Prevp
Update Lyricsd
Toggle Album Coveri
Helph
Quit Programq
  • 编辑歌词:在$EDITOR中打开歌词。在
  • 刷新:刷新歌词和歌曲元数据。在
  • 切换:播放或暂停当前播放的歌曲。在
  • 下一首:播放下一首歌。在
  • 播放上一首歌。在
  • 更新歌词:删除缓存的歌词并从互联网上获取歌词。在
  • 帮助:显示键绑定5秒。在

DBUS

歌词可以通过dbus滚动。 滚动歌词而不改变焦点。在

Python示例
importdbusbus=dbus.SessionBus()lyrics=bus.get_object('com.spotify_lyrics.line','/com/spotify_lyrics')lyrics.move(1)# Scroll Downlyrics.move(-1)# Scroll Up

Bash示例

#!/usr/bin/env bash
dbus-send --print-reply --dest="com.spotify_lyrics.line"\"/com/spotify_lyrics"\"com.spotify_lyrics.line.move"\
    int32:$1 > /dev/null

我从i3配置调用这个bash脚本。见下文。在

示例用例(i3wm)

bindsym $mod+Shift+Home exec st -n Lyrics -e spotify-lyrics
for_window [instance="Lyrics"] floating enable; [instance="Lyrics"] move position center
for_window [instance="Lyrics"] resize set 644 388
bindsym $mod+Control+k exec lyrics-move -1
bindsym $mod+Control+j exec lyrics-move 1

示例用例(Emacs)

在缓冲区打开歌词。在

(defunspotify-lyrics()(interactive)(let((string(shell-command-to-string"spotify-lyrics-once")))(get-buffer-create"lyrics-buffer")(switch-to-buffer-other-window"lyrics-buffer")(with-current-buffer"lyrics-buffer"(goto-char(point-max))(erase-buffer)(insertstring)(goto-line1))))

示例用例(Conky)

您可以使用spotify歌词一次将歌词输出到stdout并退出。 如果你有使用stdin的程序,你可以使用这个版本。 康基就是这样一个例子。在

#!/usr/bin/luaconky.config={alignment='tl',background=true,color2='2ECC71',cpu_avg_samples=2,default_color='FFFFFF',double_buffer=true,font='Bitstream Vera Sans:size=10',gap_x=30,gap_y=50,minimum_width=200,no_buffers=true,own_window=true,own_window_type='override',own_window_transparent=true,own_window_argb_visual=true,-- own_window_type = 'desktop',update_interval=3,use_xft=true,}conky.text=[[${voffset 8}$color2${font Bitstream Vera Sans:size=16}${time %A}$font\${voffset -8}$alignr$color${font Bitstream Vera Sans:size=38}${time %e}$font$color${voffset -30}$color${font Bitstream Vera Sans:size=18}${time %b}$font\${voffset -3} $color${font Bitstream Vera Sans:size=20}${time %Y}$font$color2$hr${execi 5 spotify-lyrics-once}]]

许可证

另一个spotify歌词是在麻省理工学院许可下授权的。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Box2D销毁正文原因:FailedToWriteCoreDumpCoreDumpsShaveBeenDisabled   java如何使用maven构建spring boot应用程序的jar库   java How-to-know项目是使用Eclipse或NetBeans创建的   应用程序未运行时的java推送计划通知   GSON将json值反序列化为Java对象   java如何使用javamail添加内联图像?   java在同一战争中从另一个Web服务调用Web服务apache cxf   java如何在没有OutOfMemory错误的情况下从Android上传大文件?   javajavax。加密。BadPaddingException:给定的最后一个块未正确填充完整示例   java OpenGL矩阵乘法导致奇数浮点行为   java如何以编程方式更改网格窗格的行数?   如何根据java中的字母顺序对对象数组[包含名称、地址等详细信息]进行排序?   java构造函数类不能应用于给定的类型;必需:int,int found:无参数原因:实际参数和以前的参数长度不同   firebase在Java代码注释中使用方括号的目的是什么?   spring boot Java Hibernate继承和onetomany   使用jackson将json数组转换为数组中具有不同对象元素的java对象   java希望将数据库中的数据存储在lucene索引文件中,并检索表信息和数据