Simple universal on screen lyrics made with GTK4 and ❤️.
Check INSTALLATION.md
- A player supports MPRIS well.
- In particular, a wm allows you set windows as top-level one's.
online:
- Qcm
- Electron-NCM
- YesPlayMusic
- Telegram
- FeelUOwn, with the latest code
local:
Player | OSD | issue |
---|---|---|
netease-cloud-music-gtk | X | gives 0 position |
Firefox | X | do not provide position call |
Chrom* | X | break the "unique" gurantee for TrackID |
youtube-music | X | break the "unique" gurantee for TrackID |
qqmusic | O | no info other than title/artist avaliable |
flutter-netease-music | X | no mpris support |
Typically,
~/.cache/waylyrics/XX/...
~/.config/waylyrics/...
~/.local/share/waylyrics/themes/...
Current approach my seems dirty:
- get the likely actived player when none is connnected, and disconnect from one only if it's not avaliable more
- keep sync with 2s interval and 20ms refresh for lyrics
- for Qcm, Feeluown-netease, ElectronNCM, we could get song id directly
- use the length-matched result (or first result if former is not found) of
search_song
and sync START in each run, fetch lyric only when needed
For Sway users, you may want use waybar-netease-music-lyrics.
YesPlayMusicOSD have great lyrics support
BruceZhang1993's lyricsSeeker is still WIP, but it may have better-looking and better integration with KDE.
Copay's caraoke-plasmoid is currently Plasma-only, though it is easy to remove plasmoid components
- gtk4-rs, Rust bind to GTK-4.