No Description

ff 1.2KB

    #!/bin/sh # TODO: # # - support matching multiple extensions # # maybe: # # - use fzf if called from an interactive terminal (?) # - what about scripts called from the commandline, but that should # display stuff? probably they don't exist? # - allow multiple directories to be searched # - make "chooser" configurable (e.g. allow regular dmenu) program="xdg-open" base="$PWD" pattern='*.pdf' choose_rofi() { rofi -dmenu -matching normal -sort -i -markup-rows } choose_dmenu() { dmenu -l 10 -i } choose=choose_rofi if ! which rofi &> /dev/null; then choose=choose_dmenu fi while [ $# -gt 0 ]; do case "$1" in -no-open) program="echo" shift ;; -w|-open-with) shift program="$1" shift ;; -p|-pattern) shift pattern="$1" shift ;; -dmenu) choose=choose_dmenu shift ;; *) break ;; esac done case "$1" in m) base="$HOME/m/buffer" pattern='*.mp4' ;; p) base="$HOME/d/books/cs" ;; *) if [ -n "$1" ]; then base="$1" fi ;; esac file="$(find "$base" -type f -name "$pattern" -printf '%P\n' | sed 's/&/&/g' | $choose | sed 's/&/\&/g')" if [ "$?" -eq "0" ]; then $program "$base/$file" fi