Wayves
Wayves is a module for bars like waybar and polybar, that shows cava and/or different animations based on chosen player status
Install / Use
/learn @jvc84/WayvesREADME
wayves
wayves is a module for bars like waybar and polybar, that shows cava and/or different animations based on chosen player status
Installation
Requirements:
python
bc
cava
Installation:
git clone https://github.com/jvc84/wayves.git
cd wayves
mkdir ~/.config/cava
cp assets/cava/cava_option_config ~/.config/cava
Important about CAVA:
You can configure number of bars, framerate etc. of the cava option in ~/.config/cava/cava_option_config:
bars = <bars>
framerate = <framerate>
...
Information about flags and options
-
If you don't set
--player/-p, it will track ALLmprisplayers' playback -
Also you can set this behavior with
--player any -
See available players with
playerctl -l(Shows only active ones)
Use python /PATH/TO/wayves/wayves.py --help to read about flags and options
Usage:
python /path/to/wayves/wayves.py [--off <OPTION>] [--inactive <OPTION>] [--active <OPTION>] [--player PLAYER]
Animation flags:
-h, --help - displays this help end exit
-p, --player <PLAYER> - player whit activity will be represented by this module.
Default value is "any", which stands for detecting any mpris (playerctl) playback.
Unnecessary if all other flag have same value. You can get names of active players by command 'playerctl -l'
-o, --off <OPTION> - script, that shows when player is down. 'cat' by default
-i, --inactive <OPTION> - script, that shows when player is up, but music is on pause. 'splash' by default
-a, --active <OPTION> - script, that shows when player is up, and music is playing. 'cava' by default
Options:
cat - ASCII cat animations
info - 'no sound'/'sound'
splash - some different animations of 3 bars
waves - scripts of 3 bars moving up and down
cava[=SECTION] - dynamic waves, that depend on sound. Requires cava
available SECTIONS: left, right, all. SECTION=all by default
empty[=NUM] - shows NUM spaces. NUM=0 by default
flat[=NUM] - shows NUM '▁'. NUM=16 by default
Cava config:
In config you can configure number of bars and frame rate (and other stuff)
Config path - $HOME/.config/cava/cava_option_config
</details>
Examples
If you just want cava:

"custom/wayves": {
"format": "{}",
"exec": "python /PATH/TO/wayves/wayves.py -o cava -i cava -a cava"
},
If you want mini waves to move when music in specific app is on:

"custom/wayves": {
"format": "{}",
"exec": "python /PATH/TO/wayves/wayves.py -p <PLAYER> -o flat=3 -i splash -a waves"
},
If you want to separate left and right cava halves to put something in between:

module for left audio channel:
"custom/wayves_left": {
"format": "{}",
"exec": "python /PATH/TO/wayves/wayves.py -o cava=left -i cava=left -a cava=left"
},
module for right audio channel:
"custom/wayves_right": {
"format": "{}",
"exec": "python /PATH/TO/wayves/wayves.py -o cava=right -i cava=right -a cava=right"
},
Maybe you just want a little cat to live in your bar:

"custom/wayves": {
"format": "{}",
"exec": "python /PATH/TO/wayves/wayves.py -o cat -i cat -a cat",
"escape": true,
},
That's pretty much it. Put star if you like this module and send bug report if something is wrong.
(=^ > ω <^=) :two_hearts:
Related Skills
node-connect
354.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
