From e769385bcfb6fbdd44b7caea99ccf8b890c063db Mon Sep 17 00:00:00 2001 From: Uyanide Date: Mon, 23 Jun 2025 06:16:58 +0200 Subject: [PATCH] eww; lyrics widget --- eww/Lyrics/eww.scss | 53 +++ eww/Lyrics/eww.yuck | 31 ++ eww/Lyrics/scripts/lyric-clear.sh | 6 + eww/Lyrics/scripts/lyric-lines.sh | 13 + eww/Lyrics/scripts/lyric-offset.py | 43 +++ eww/Main/eww.yuck | 1 - eww/eww.scss | 1 + eww/eww.yuck | 1 + eww/temp.log | 497 +++++++++++++++++++++++++++++ mako/config | 8 + waybar/config.jsonc | 1 + 11 files changed, 654 insertions(+), 1 deletion(-) create mode 100644 eww/Lyrics/eww.scss create mode 100644 eww/Lyrics/eww.yuck create mode 100755 eww/Lyrics/scripts/lyric-clear.sh create mode 100755 eww/Lyrics/scripts/lyric-lines.sh create mode 100755 eww/Lyrics/scripts/lyric-offset.py create mode 100644 eww/temp.log diff --git a/eww/Lyrics/eww.scss b/eww/Lyrics/eww.scss new file mode 100644 index 0000000..31f489c --- /dev/null +++ b/eww/Lyrics/eww.scss @@ -0,0 +1,53 @@ +* { + all: unset; + transition: 200ms ease-out; +} + +.lyrics-window { + background-color: $bg; + border-radius: 16px; + border: 2px solid $blue; +} + +.lyrics-box { + margin: 20px; + min-width: 500px; +} + +.lyrics-text { + color: $fg; + font-size: 16px; + font-family: 'Maple Mono Normal NF CN', 'Maple Mono CN', monospace; +} + +.control-box { + margin: 10px; + min-height: 90px; +} + +.offset-minus, +.offset-reset, +.offset-plus, +.offset-clear { + padding: 0px 6px; + margin: 0px 4px 0px 4px; + font-family: 'MesloLGM Nerd Font Mono'; + font-size: 20px; + min-width: 16px; +} + +.offset-minus { + color: $blue; +} + +.offset-plus { + color: $yellow; +} + +.offset-reset { + color: $green; +} + +.offset-clear { + color: $red; +} diff --git a/eww/Lyrics/eww.yuck b/eww/Lyrics/eww.yuck new file mode 100644 index 0000000..b78d8ab --- /dev/null +++ b/eww/Lyrics/eww.yuck @@ -0,0 +1,31 @@ +(defpoll lyriclines :interval "500ms" "Lyrics/scripts/lyric-lines.sh") + +(defwidget lyrics [] + (box :class "lyrics-window" :space-evenly "false" :orientation "h" + (box :class "lyrics-box" :vexpand "false" :hexpand "false" :valign "center" :space-evenly "false" :orientation "v" + (label :class "lyrics-text" + :vexpand "false" :hexpand "false" :space-evenly "false" + :halign "start" + :text lyriclines + ) + ) + (box :class "control-box" :vexpand "false" :hexpand "false" :space-evenly "true" :orientation "v" + (box :class "control-row-1" :space-evenly "false" :orientation "h" + (button :class "offset-minus" :onclick "Lyrics/scripts/lyric-offset.py -500" "󰓅") + (button :class "offset-plus" :onclick "Lyrics/scripts/lyric-offset.py +500" "󰾆") + ) + (box :class "control-row-1" :space-evenly "false" :orientation "h" + (button :class "offset-reset" :onclick "Lyrics/scripts/lyric-offset.py" "󰾅") + (button :class "offset-clear" :onclick "spotify-lyrics clear" "󰑙") + ) + ) + ) +) + +(defwindow lyrics + :windowtype "normal" + :wm-ignore false + :monitor 0 + :geometry (geometry :anchor "top center") + (lyrics) +) \ No newline at end of file diff --git a/eww/Lyrics/scripts/lyric-clear.sh b/eww/Lyrics/scripts/lyric-clear.sh new file mode 100755 index 0000000..f1494ba --- /dev/null +++ b/eww/Lyrics/scripts/lyric-clear.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +killall spotify-lyrics +sleep 0.1 +spotify-lyrics clear +notify-send -a "spotify-lyrics" "Lyrics Cleared" "The lyrics have been cleared." \ No newline at end of file diff --git a/eww/Lyrics/scripts/lyric-lines.sh b/eww/Lyrics/scripts/lyric-lines.sh new file mode 100755 index 0000000..147fa88 --- /dev/null +++ b/eww/Lyrics/scripts/lyric-lines.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +STATE_DIR="$HOME/.local/state/eww/lyrics" +if [ ! -d $STATE_DIR ]; then + mkdir -p $STATE_DIR +fi + +OFFSET_FILE="$STATE_DIR/offset" +if [ ! -f "$OFFSET_FILE" ]; then + echo "0" > "$OFFSET_FILE" +fi + +spotify-lyrics print -l 3 -O $(cat "$OFFSET_FILE") \ No newline at end of file diff --git a/eww/Lyrics/scripts/lyric-offset.py b/eww/Lyrics/scripts/lyric-offset.py new file mode 100755 index 0000000..015599e --- /dev/null +++ b/eww/Lyrics/scripts/lyric-offset.py @@ -0,0 +1,43 @@ +APP_NAME = "spotify-lyrics" +STATE_DIR_NAME = "~/.local/state/eww/lyrics" +STATE_FILE_NAME = "offset" + + +def notify_send(title, message): + import subprocess + subprocess.run(["notify-send", "-a", APP_NAME, title, message], check=True) + + +def main(): + import sys + import os + + state_dir = os.path.expanduser(STATE_DIR_NAME) + if not os.path.exists(state_dir): + os.makedirs(state_dir) + + offset_file = os.path.join(state_dir, STATE_FILE_NAME) + if not os.path.exists(offset_file): + with open(offset_file, "w") as f: + f.write("0") + + if len(sys.argv) < 2: + new_offset = 0 + else: + try: + increment = int(sys.argv[1]) + with open(offset_file, "r") as f: + current_offset = int(f.read().strip()) + new_offset = current_offset + increment + except ValueError: + print("Invalid input. Please provide an integer value.") + return + + with open(offset_file, "w") as f: + f.write(str(new_offset)) + + notify_send("Lyrics Speed Changed", f"The offset has been changed to {new_offset} ms.") + + +if __name__ == "__main__": + main() diff --git a/eww/Main/eww.yuck b/eww/Main/eww.yuck index 9c30044..7374b06 100644 --- a/eww/Main/eww.yuck +++ b/eww/Main/eww.yuck @@ -34,7 +34,6 @@ (defpoll length-info :interval "1s" "Main/scripts/player --length-info") (defpoll art :interval "1s" "Main/scripts/player --cover") - ;; widgets (defwidget main [] (box :class "main-window" :space-evenly "false" :orientation "v" diff --git a/eww/eww.scss b/eww/eww.scss index 48eea40..ea2c208 100644 --- a/eww/eww.scss +++ b/eww/eww.scss @@ -18,3 +18,4 @@ $teal: #94e2d5; $peach: #fab387; @import './Main/eww.scss'; +@import './Lyrics/eww.scss'; diff --git a/eww/eww.yuck b/eww/eww.yuck index 9a2ca21..1a3e2a7 100644 --- a/eww/eww.yuck +++ b/eww/eww.yuck @@ -1 +1,2 @@ (include "./Main/eww.yuck") +(include "./Lyrics/eww.yuck") diff --git a/eww/temp.log b/eww/temp.log new file mode 100644 index 0000000..8c860e5 --- /dev/null +++ b/eww/temp.log @@ -0,0 +1,497 @@ +Switching to track ID: 36u3OBG0C5T7021zsyrfxn +Fetching lyrics for track ID: 36u3OBG0C5T7021zsyrfxn +Error fetching lyrics: 404 +Switching to track ID: 33GuZ3taK6RUTQZURuqXxS +Fetching lyrics for track ID: 33GuZ3taK6RUTQZURuqXxS +Fetched 55 lines of lyrics for track ID: 33GuZ3taK6RUTQZURuqXxS +Switching to track ID: 33GuZ3taK6RUTQZURuqXxS +Fetching lyrics for track ID: 33GuZ3taK6RUTQZURuqXxS +Cache hit for track ID: 33GuZ3taK6RUTQZURuqXxS +Switching to track ID: 33GuZ3taK6RUTQZURuqXxS +Fetching lyrics for track ID: 33GuZ3taK6RUTQZURuqXxS +Cache hit for track ID: 33GuZ3taK6RUTQZURuqXxS +Switching to track ID: 33GuZ3taK6RUTQZURuqXxS +Fetching lyrics for track ID: 33GuZ3taK6RUTQZURuqXxS +Cache hit for track ID: 33GuZ3taK6RUTQZURuqXxS +Switching to track ID: 33GuZ3taK6RUTQZURuqXxS +Fetching lyrics for track ID: 33GuZ3taK6RUTQZURuqXxS +Cache hit for track ID: 33GuZ3taK6RUTQZURuqXxS +Switching to track ID: 33GuZ3taK6RUTQZURuqXxS +Fetching lyrics for track ID: 33GuZ3taK6RUTQZURuqXxS +Cache hit for track ID: 33GuZ3taK6RUTQZURuqXxS +Switching to track ID: 33GuZ3taK6RUTQZURuqXxS + + + +Fetching lyrics for track ID: 33GuZ3taK6RUTQZURuqXxS +Cache hit for track ID: 33GuZ3taK6RUTQZURuqXxS + +今宵も頭上では + + +今宵も頭上では +今宵も頭上では +今宵も頭上では +今宵も頭上では +綺麗な満月がキラキラ +今宵も頭上では +綺麗な満月がキラキラ +幸せそうに世界を照らしている +綺麗な満月がキラキラ +幸せそうに世界を照らしている +当の私は +幸せそうに世界を照らしている +当の私は +出来損ないで どうしようも無くて +当の私は +出来損ないで どうしようも無くて +夜明け夢見ては +出来損ないで どうしようも無くて +夜明け夢見ては +地べた這いずり回ってる +夜明け夢見ては +地べた這いずり回ってる +それでも 誰かに見つけて欲しくて +地べた這いずり回ってる +それでも 誰かに見つけて欲しくて +夜空見上げて叫んでいる +それでも 誰かに見つけて欲しくて +夜空見上げて叫んでいる +逃げ出したいなぁ 逃げ出せない +夜空見上げて叫んでいる +逃げ出したいなぁ 逃げ出せない +明るい未来は見えない ねぇ +逃げ出したいなぁ 逃げ出せない +明るい未来は見えない ねぇ +それでも あなたに見つけて欲しくて +明るい未来は見えない ねぇ +それでも あなたに見つけて欲しくて +蝶のように舞い上がるの +それでも あなたに見つけて欲しくて +蝶のように舞い上がるの +欠けた翼で飛んだ +蝶のように舞い上がるの +欠けた翼で飛んだ +醜い星の子ミカヅキ +欠けた翼で飛んだ +醜い星の子ミカヅキ +♪ +醜い星の子ミカヅキ +♪ +今宵も頭上では +♪ +今宵も頭上では +綺麗な満月がゆらゆら +今宵も頭上では +綺麗な満月がゆらゆら +誰かの腕に抱かれて眠っている +綺麗な満月がゆらゆら +誰かの腕に抱かれて眠っている +当の私は +誰かの腕に抱かれて眠っている +当の私は +ひとりの夜に押し潰されては +当の私は +ひとりの夜に押し潰されては +誰にも見えない +ひとりの夜に押し潰されては +誰にも見えない +夜闇這いずり回ってる +誰にも見えない +夜闇這いずり回ってる +それでも 誰にも負けたくなくて +夜闇這いずり回ってる +それでも 誰にも負けたくなくて +宇宙の隅で藻掻いている +それでも 誰にも負けたくなくて +宇宙の隅で藻掻いている +追いつきたいや 追い越したい +宇宙の隅で藻掻いている +追いつきたいや 追い越したい +ああ夢に見たような世界 ねぇ +追いつきたいや 追い越したい +ああ夢に見たような世界 ねぇ +それでも 誰かと比べてばっか +ああ夢に見たような世界 ねぇ +それでも 誰かと比べてばっか +周りを見ては立ち止まって +それでも 誰かと比べてばっか +周りを見ては立ち止まって +欠けたものを探した +周りを見ては立ち止まって +欠けたものを探した +そんな自分を変えたい +欠けたものを探した +そんな自分を変えたい +♪ +そんな自分を変えたい +♪ +それでも あなたとおんなじ景色が +♪ +それでも あなたとおんなじ景色が +また見たいから +それでも あなたとおんなじ景色が +また見たいから +泣き出したくても +また見たいから +泣き出したくても +投げ出したくても +泣き出したくても +投げ出したくても +諦めたりはできない +投げ出したくても +諦めたりはできない +それでも あなたに見つかるように +諦めたりはできない +それでも あなたに見つかるように +サナギは強く手を伸ばすの +それでも あなたに見つかるように +サナギは強く手を伸ばすの +欠けたもの抱きしめて +サナギは強く手を伸ばすの +欠けたもの抱きしめて +願いを放つよミカヅキ +欠けたもの抱きしめて +願いを放つよミカヅキ +それでも 誰かに見つけて欲しくて +願いを放つよミカヅキ +それでも 誰かに見つけて欲しくて +夜空見上げて叫んでいる +それでも 誰かに見つけて欲しくて +夜空見上げて叫んでいる +泣き出したいけど 泣き出さない +夜空見上げて叫んでいる +泣き出したいけど 泣き出さない +もう後戻りなどできない ねぇ +泣き出したいけど 泣き出さない +もう後戻りなどできない ねぇ +それでも あなたに見つけて欲しくて +もう後戻りなどできない ねぇ +それでも あなたに見つけて欲しくて +蝶のように舞い上がるの +それでも あなたに見つけて欲しくて +蝶のように舞い上がるの +欠けた翼で飛ぶよ +蝶のように舞い上がるの +欠けた翼で飛ぶよ +醜い星の子ミカヅキ +欠けた翼で飛ぶよ +醜い星の子ミカヅキ +光を放ったミカヅキ +醜い星の子ミカヅキ +光を放ったミカヅキ +♪ +光を放ったミカヅキ +♪ +今宵も頭上では +♪ +今宵も頭上では +綺麗な満月がキラキラ +今宵も頭上では +綺麗な満月がキラキラ +次は君の番だと笑っている +綺麗な満月がキラキラ +次は君の番だと笑っている + +Switching to track ID: 2bBFI5ARYKMq8NjnPeAJ2m + + + +Fetching lyrics for track ID: 2bBFI5ARYKMq8NjnPeAJ2m +Fetched 22 lines of lyrics for track ID: 2bBFI5ARYKMq8NjnPeAJ2m + +どうして どうして + + +どうして どうして +どうして どうして +どうして どうして +どうして どうして +落ちてゆく空の国 +Switching to track ID: 2bBFI5ARYKMq8NjnPeAJ2m +Fetching lyrics for track ID: 2bBFI5ARYKMq8NjnPeAJ2m +Cache hit for track ID: 2bBFI5ARYKMq8NjnPeAJ2m +Switching to track ID: 7JPAO45DZOmN2bciVaBia5 +Fetching lyrics for track ID: 7JPAO45DZOmN2bciVaBia5 +Fetched 60 lines of lyrics for track ID: 7JPAO45DZOmN2bciVaBia5 +Switching to track ID: 7JPAO45DZOmN2bciVaBia5 +Fetching lyrics for track ID: 7JPAO45DZOmN2bciVaBia5 +Cache hit for track ID: 7JPAO45DZOmN2bciVaBia5 +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... +Lock file exists. Waiting for it to be released... diff --git a/mako/config b/mako/config index f3353c7..361e7a3 100644 --- a/mako/config +++ b/mako/config @@ -26,4 +26,12 @@ format=%s\n%b [app-name=volume group-index=0] # Only show last notification +invisible=0 + +[app-name=spotify-lyrics] +history=0 +group-by=app-name +format=%s\n%b + +[app-name=spotify-lyrics group-index=0] invisible=0 \ No newline at end of file diff --git a/waybar/config.jsonc b/waybar/config.jsonc index 1aa33bf..a2c0cbd 100644 --- a/waybar/config.jsonc +++ b/waybar/config.jsonc @@ -282,6 +282,7 @@ "escape": true, "exec": "$HOME/.config/waybar/modules/mediaplayer.py 2> /dev/null", "on-click": "playerctl play-pause", + "on-click-right": "eww open lyrics --toggle", "on-scroll-up": "playerctl next", "on-scroll-down": "playerctl previous" },