#!/bin/env bash load_config() { source "$HOME"/.config/dmenu/config } move() { declare -a paths=( "$HOME/vids/anime" "$HOME/vids/movies" "$HOME/vids/tv-shows" "$HOME/docs/manga" "$HOME/docs/lightnovels" "$HOME/games/torrents" ) current=$(transmission-remote -t "$1" -i | grep -i location | awk '{print $2}') choice=$(printf '%s\n' "${paths[@]}" | $DMENU -i -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 } menu() { case "$(printf "Start\\nStop\\nMove\\nRemove\\nDelete" | $DMENU -i -p "Torrent Action: ")" in Remove) transmission-remote -t "$id" -r quick-notify "Transmission" "Removed $id" ;; Delete) transmission-remote -t "$id" -rad quick-notify "Transmission" "Deleted $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 } main() { load_config id=$(transmission-remote -l | $DMENU -i -l 10 | awk '{print $1}' | sed 's/*//') [ -z "$id" ] && exit 0 menu } main $*