#!/bin/zsh set -e feedpath=~/.sfeed/feeds zmodload zsh/datetime typeset -A gelems for f in $feedpath/YouTube\ -\ *; do IFS=$'\n' fcont=($(< $f)) for i in {1..5}; do elems=(${(ps.\t.)fcont[$i]}) if [ "${#elems}" -gt 0 ]; then tmp="$(strftime '%F %T' ${elems[1]}) ${(l:24:: :)elems[7]} - ${elems[2]}" gelems[${elems[3]}]="${tmp}" fi done done res="$(print -l ${(nO)gelems} | dmenu -l 35 -p 'Video')" for k v in ${(kv)gelems}; do # This could be done with reverse subscripts but some characters mess it up... [[ "$v" == "$res" ]] && exec mpv --profile=v "$k" done