40 lines
1.1 KiB
Bash
Executable File
40 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
#PUT THIS FILE IN ~/.local/share/rofi/finder.sh
|
|
#USE: rofi -show find -modi find:~/.local/share/rofi/finder.sh
|
|
if [ ! -z "$@" ]
|
|
then
|
|
QUERY=$@
|
|
if [[ "$@" == /* ]]
|
|
then
|
|
if [[ "$@" == *\?\? ]]
|
|
then
|
|
coproc ( xdg-open "${QUERY%\/* \?\?}" > /dev/null 2>&1 )
|
|
exec 1>&-
|
|
exit;
|
|
else
|
|
coproc ( xdg-open "$@" > /dev/null 2>&1 )
|
|
exec 1>&-
|
|
exit;
|
|
fi
|
|
elif [[ "$@" == \!\!* ]]
|
|
then
|
|
echo "!!-- Type your search query to find files"
|
|
echo "!!-- To search again type !<search_query>"
|
|
echo "!!-- To search parent directories type ?<search_query>"
|
|
echo "!!-- You can print this help by typing !!"
|
|
elif [[ "$@" == \?* ]]
|
|
then
|
|
while read -r line; do
|
|
echo "$line" \?\?
|
|
done <<< $(fd "${QUERY#\?}" $HOME 2>&1 | grep -v 'Permission denied\|Input/output error')
|
|
else
|
|
fd "${QUERY#!}" $HOME 2>&1 | grep -v 'Permission denied\|Input/output error'
|
|
fi
|
|
else
|
|
echo "!!-- Type your search query to find files"
|
|
echo "!!-- To seach again type !<search_query>"
|
|
echo "!!-- To seach parent directories type ?<search_query>"
|
|
echo "!!-- You can print this help by typing !!"
|
|
fi
|