summaryrefslogtreecommitdiff
path: root/dwmbar-functions/dwm_transmission.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dwmbar-functions/dwm_transmission.sh')
-rwxr-xr-xdwmbar-functions/dwm_transmission.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/dwmbar-functions/dwm_transmission.sh b/dwmbar-functions/dwm_transmission.sh
new file mode 100755
index 0000000..f11c719
--- /dev/null
+++ b/dwmbar-functions/dwm_transmission.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+# A dwm_bar function to show the status of a torrent woth transmission-remote
+# Joe Standring <[email protected]>
+# GNU GPLv3
+
+# Dependencies: transmission-remote
+
+dwm_transmission () {
+ TORRENT=$(transmission-remote -l | sed '2q;d' | sed 's/\(.\) /\1/g')
+ ID=$(printf "%s" "$TORRENT" | awk '{print $1;}')
+ STATUS=$(printf "%s" "$TORRENT" | awk '{print $8;}')
+ ETA=$(printf "%s" "$TORRENT" | awk '{print $4;}')
+ NAME=$(printf "%s" "$TORRENT" | awk '{for(i=9;i<=NF;++i)print $i}' | tr -d "\n" | head -c 20; printf "...")
+ DONE=$(printf "%s" "$TORRENT" | awk '{print $2;}')
+ UP=$(printf "%s" "$TORRENT" | awk '{print $5;}')
+ DOWN=$(printf "%s" "$TORRENT" | awk '{print $5;}')
+
+ if [ "$ID" != "Sum:" ]; then
+ printf "%s" "$SEP1"
+ if [ "$IDENTIFIER" = "unicode" ]; then
+ case "$STATUS" in
+ "Idle")
+ printf "🛑 %s | %s %s ⬆%s ⬇%s" "$NAME" "$DONE" "$ETA" "$UP" "$DOWN"
+ ;;
+ "Seeding")
+ printf "🌱 %s | ⬆%s ⬇%s" "$NAME" "$UP" "$DOWN"
+ ;;
+ "Downloading")
+ printf "⏬ %s | %s %s ⬆%s ⬇%s" "$NAME" "$DONE" "$ETA" "$UP" "$DOWN"
+ ;;
+ esac
+ else
+ case "$STATUS" in
+ "Idle")
+ printf "IDLE %s | %s %s ⬆%s ⬇%s" "$NAME" "$DONE" "$ETA" "$UP" "$DOWN"
+ ;;
+ "Seeding")
+ printf "SEEDING %s | ⬆%s ⬇%s" "$NAME" "$UP" "$DOWN"
+ ;;
+ "Downloading")
+ printf "DOWNLOADING %s | %s %s ⬆%s ⬇%s" "$NAME" "$DONE" "$ETA" "$UP" "$DOWN"
+ ;;
+ esac
+ fi
+ printf "%s\n" "$SEP2"
+ fi
+}
+
+dwm_transmission