#!/bin/dash command -v locate dash >/dev/null || { sudo pacman -S mlocate && notify-send "Locate not found. Installing..." || { notify-send "Failed. Run the script once on terminal OR change sudo permissions." exit 1 } } [ -s "$HOME/.config/.mymlocate.db" ] || { notify-send "You have no database. Creating it..." disk_path=$(echo "" | dmenu -l 0 -p "Enter the disk path (e.g '/mnt/harddisk'): ") sudo updatedb -o ~/.config/.mymlocate.db -U "$disk_path" || { notify-send "Failed. Run the script once on terminal OR change doas permissions." exit 1 } } video_files=$(locate -d ~/.config/.mymlocate.db -b -r '.*\.\(mp4\|mkv\|webm\|mov\|m4v\|wmv\|flv\|avi\)$') chosen_file=$(echo "$video_files" | sed 's|.*/||; s/\.[^.]*$//' | dmenu -i -l 10 -p "Select Video") mpv "$(echo "$video_files" | grep -F "/$chosen_file.")"