diff options
author | David Luevano Alvarado <55825613+luevano@users.noreply.github.com> | 2020-12-25 21:52:30 -0700 |
---|---|---|
committer | David Luevano Alvarado <55825613+luevano@users.noreply.github.com> | 2020-12-25 21:52:30 -0700 |
commit | 9d44898fb3c2dbac189f5fa7b9b1d789937f348c (patch) | |
tree | 466b238e00d16c12f50ccac4a21d693eb1961fd9 /.local/bin/statusbar | |
parent | 01aae48c384f4b07c2f204bff81ba2398cbd3065 (diff) |
Better "now playing" module
Diffstat (limited to '.local/bin/statusbar')
-rwxr-xr-x | .local/bin/statusbar/player_mpris_module | 21 | ||||
-rwxr-xr-x | .local/bin/statusbar/player_mpris_zscroll_module | 60 |
2 files changed, 73 insertions, 8 deletions
diff --git a/.local/bin/statusbar/player_mpris_module b/.local/bin/statusbar/player_mpris_module index 3701cbf..fef6bb8 100755 --- a/.local/bin/statusbar/player_mpris_module +++ b/.local/bin/statusbar/player_mpris_module @@ -1,15 +1,20 @@ #!/bin/sh +# This is a static status module, for a dynamic one, there is the option +# with zscroll. + +icon=" " + show_panel (){ # Needs to send to /dev/null for the actual else case. player_status=$(playerctl status 2> /dev/null) if [ "$player_status" = "Playing" ]; then - echo " $(playerctl metadata artist) - $(playerctl metadata title)" + echo "$icon $(playerctl metadata artist) - $(playerctl metadata title)" elif [ "$player_status" = "Paused" ]; then - echo "%{F$(xresource color8)} $(playerctl metadata artist) - $(playerctl metadata title)%{F-}" + echo "%{F$(xresource color8)}$icon $(playerctl metadata artist) - $(playerctl metadata title)%{F-}" else - echo "%{F$(xresource color8)} (nothing playing)" + echo "%{F$(xresource color8)}$icon (nothing playing)" fi } @@ -21,9 +26,9 @@ send_notification (){ title="$(playerctl metadata title)" if [ $album = "\n"]; then - notify-send " $artist - $album" "$title" + notify-send "$icon $artist - $album" "$title" else - notify-send " $artist" "$title" + notify-send "$icon $artist" "$title" fi elif [ "$player_status" = "Paused" ]; then artist="$(playerctl metadata artist)" @@ -31,12 +36,12 @@ send_notification (){ title="$(playerctl metadata title)" if [ $album = "\n"]; then - notify-send " (Paused) $artist - $album" "$title" + notify-send "$icon (Paused) $artist - $album" "$title" else - notify-send " (Paused) $artist" "$title" + notify-send "$icon (Paused) $artist" "$title" fi else - notify-send " Nothing playing" + notify-send "$icon Nothing playing" fi } diff --git a/.local/bin/statusbar/player_mpris_zscroll_module b/.local/bin/statusbar/player_mpris_zscroll_module new file mode 100755 index 0000000..5930182 --- /dev/null +++ b/.local/bin/statusbar/player_mpris_zscroll_module @@ -0,0 +1,60 @@ +#!/bin/sh + +# This is a static status module, for a dynamic one, there is the option +# with zscroll. + +icon=" " +length=50 +delay=0.1 +b_padding=$icon +a_padding="" +p_padding=" | " + +show_panel (){ + zscroll -d $delay -l $length \ + -M "pctl_status status" \ + -m "Playing" "--scroll-padding '$p_padding' --scroll 1" \ + -m "Paused" "--scroll 0" \ + -m "Stopped" "--scroll 0" \ + -m "NRP" "--scroll 0" \ + -u true "pctl_status text" & + + wait +} + +send_notification (){ + player_status=$(playerctl status 2> /dev/null) + if [ "$player_status" = "Playing" ]; then + artist="$(playerctl metadata artist)" + album="$(playerctl metadata album)" + title="$(playerctl metadata title)" + + if [ $album = "\n"]; then + notify-send "$icon $artist - $album" "$title" + else + notify-send "$icon $artist" "$title" + fi + elif [ "$player_status" = "Paused" ]; then + artist="$(playerctl metadata artist)" + album="$(playerctl metadata album)" + title="$(playerctl metadata title)" + + if [ $album = "\n"]; then + notify-send "$icon (Paused) $artist - $album" "$title" + else + notify-send "$icon (Paused) $artist" "$title" + fi + else + notify-send "$icon Nothing playing" + fi + +} + +case $1 in + show) + show_panel + ;; + notify) + send_notification + ;; +esac |