summaryrefslogtreecommitdiff
path: root/.local
diff options
context:
space:
mode:
authorDavid Luevano Alvarado <55825613+luevano@users.noreply.github.com>2020-12-25 21:52:30 -0700
committerDavid Luevano Alvarado <55825613+luevano@users.noreply.github.com>2020-12-25 21:52:30 -0700
commit9d44898fb3c2dbac189f5fa7b9b1d789937f348c (patch)
tree466b238e00d16c12f50ccac4a21d693eb1961fd9 /.local
parent01aae48c384f4b07c2f204bff81ba2398cbd3065 (diff)
Better "now playing" module
Diffstat (limited to '.local')
-rwxr-xr-x.local/bin/pctl_status30
-rwxr-xr-x.local/bin/statusbar/player_mpris_module21
-rwxr-xr-x.local/bin/statusbar/player_mpris_zscroll_module60
3 files changed, 103 insertions, 8 deletions
diff --git a/.local/bin/pctl_status b/.local/bin/pctl_status
new file mode 100755
index 0000000..0eccfb8
--- /dev/null
+++ b/.local/bin/pctl_status
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+playerctl_status=$(playerctl status 2>/dev/null)
+exit_code=$?
+
+if [ $exit_code -eq 0 ]; then
+ status=$playerctl_status
+else
+ status="NPF"
+fi
+
+case $1 in
+ status)
+ echo "$status"
+ ;;
+ text)
+ artist="$(playerctl metadata artist 2>/dev/null)"
+ title="$(playerctl metadata title 2>/dev/null)"
+
+ if [ "$status" = "Stopped" ]; then
+ echo "%{F$(xresource color8)}No music playing%{F}"
+ elif [ "$status" = "Paused" ]; then
+ echo "%{F$(xresource color8)}$artist - $title%{F}"
+ elif [ "$status" = "NPF" ]; then
+ echo "%{F$(xresource color8)}No player found%{F}"
+ else
+ echo "$artist - $title"
+ fi
+ ;;
+esac
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