#!/bin/env bash id=$(transmission-remote -l | dmenu -l 10 | awk '{print $1}'| sed 's/*//') [ -z "$id" ] && exit 0 move () { declare -a paths=( "$HOME/Videos/anime" "$HOME/Videos/movies" "$HOME/Documents/manga" "$HOME/Documents/lightnovels" "$HOME/Games/torrents" ) current=$(transmission-remote -t 1 -i | grep -i location | awk '{print $2}') choice=$(printf '%s\n' "${paths[@]}" | dmenu -p "Current: $current") [ -z "$choice" ] && quick-notify "Transmission" "No path chosen" && exit [ ! -d "$choice" ] && mkdir -p "$choice" if transmission-remote -t $1 --move $choice ; then quick-notify "Transmission" "Moved $1 to $choice" else quick-notify "Transmission" "Couldn't move $1 to $choice" fi } case "$(printf "Start\\nStop\\nMove\\nRemove" | dmenu -p "Torrent Action: ")" in Remove) transmission-remote -t $id -r quick-notify "Transmission" "Removed $id" ;; Start) transmission-remote -t $id -s quick-notify "Transmission" "Started $id" ;; Stop) transmission-remote -t $id -S quick-notify "Transmission" "Stoped $id" ;; Move) move $id ;; *) quick-notify "Transmission" "No action chosen" ;; esac