Files
dotfiles/config/scripts/.local/scripts/lyrics-widgets

36 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# Description:
# Toggle the visibility of lyrics widgets in eww.
# - Ensure only one of the two widgets (lyrics or lyrics-single) is open at a time.
# - Cycle through the following states:
# 1. Both widgets closed -> Open 'lyrics'
# 2. 'lyrics' open -> Close 'lyrics' and open 'lyrics-single' (if waybar is running)
# 3. 'lyrics-single' open -> Close 'lyrics-single'
# 4. Both widgets open -> Close both
LYRICS=$(eww active-windows | grep "lyrics:")
LYRICS_SINGLE=$(eww active-windows | grep "lyrics-single:")
# both are closed
if [ -z "$LYRICS" ] && [ -z "$LYRICS_SINGLE" ]; then
eww open lyrics
# only lyrics is open
elif [ -n "$LYRICS" ] && [ -z "$LYRICS_SINGLE" ]; then
eww close lyrics
# if waybar is running, open lyrics-single
if pgrep -x "waybar" -u "$USER" > /dev/null; then
sleep 0.5
eww open lyrics-single
fi
# only lyrics-single is open
elif [ -z "$LYRICS" ] && [ -n "$LYRICS_SINGLE" ]; then
eww close lyrics-single
# both are open
elif [ -n "$LYRICS" ] && [ -n "$LYRICS_SINGLE" ]; then
eww close lyrics
eww close lyrics-single
fi