#!/usr/bin/env sh tmp="/tmp/mmedia" dirs="$HOME/dl" concat_path() { sed "s#^$HOME#\~#;s#\([^/]\)[^/]*/#\1/#g"; } case "$1" in "video") regex='^.\+\.\(webm\|mp4\|mpeg\|mkv\)$' dirs="$dirs $HOME/vids" viewer() { mpv "$1"; } ;; "pdf") regex='^.\+\.\(pdf\)$' dirs="$dirs $HOME/docs" viewer() { zathura "$1"; } ;; "images") regex='^.\+\.\(png\|avif\|jpg\)$' dirs="$dirs $HOME/pics" viewer() { imv "$1"; } ;; "cursus") regex='^.*/[cC]ursus/index.html$' dirs="$HOME/docs/school" concat_path() { cat; } viewer() { $BROWSER "$1"; } ;; *) choice="$(cat <<-EOF | commander -d -c video pdf images cursus EOF )" [ "$choice" ] || exit 1 "$0" "$choice" exit ;; esac shift [ "$1" ] && dirs="$1" choice="$(find -L $dirs 2> /dev/null | grep "$regex" | sort | tee "$tmp" | concat_path | commander -c -d -n -x)" file="$(sed -n "${choice}p" "$tmp")" [ -r "$file" ] || exit 1 viewer "$file"