first commit
This commit is contained in:
51
document_finder.sh
Executable file
51
document_finder.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Ruta a tu carpeta de documentos
|
||||
DOC_DIR="$HOME/Documents"
|
||||
CACHE="$DOC_DIR/Docs/rofi_documentos.txt"
|
||||
|
||||
# Mapeo de íconos Nerd Fonts por extensión
|
||||
get_icon() {
|
||||
case "${1##*.}" in
|
||||
pdf) echo "" ;; # ícono de PDF (nf-mdi-file_pdf_box)
|
||||
txt|md|log) echo "" ;; # ícono de texto
|
||||
doc|docx) echo "" ;; # ícono de Word
|
||||
xls|xlsx) echo "" ;; # Excel
|
||||
ppt|pptx) echo "" ;; # PowerPoint
|
||||
*) echo "" ;; # genérico
|
||||
esac
|
||||
}
|
||||
|
||||
# Si el caché no existe o tiene más de 60 segundos, actualízalo
|
||||
if [[ ! -f "$CACHE" ]]; then
|
||||
find "$DOC_DIR" -type f \( -iname '*.pdf' \) > "$CACHE"
|
||||
fi
|
||||
|
||||
|
||||
# Crear lista formateada con íconos
|
||||
list=""
|
||||
while IFS= read -r file; do
|
||||
icon=$(get_icon "$file")
|
||||
base=$(basename "$file")
|
||||
list+="$icon $base ::$file\n"
|
||||
done < "$CACHE"
|
||||
|
||||
|
||||
# Mostrar menú con rofi
|
||||
seleccion=$(echo -e "$list" | rofi -dmenu -markup-rows -p " Documentos")
|
||||
|
||||
# Extraer solo el nombre del archivo
|
||||
archivo=$(echo "$seleccion" | cut -d' ' -f2-)
|
||||
|
||||
echo "SELECCION :>>>"$seleccion
|
||||
echo "ARCHIVO :>>>"$archivo
|
||||
|
||||
# Abrir si se seleccionó algo
|
||||
[[ -z "$archivo" ]] && exit
|
||||
|
||||
# Buscar la ruta completa del archivo
|
||||
#ruta=$(find "$DOC_DIR" -type f -name "$archivo" | head -n 1)
|
||||
ruta="${seleccion##*::}"
|
||||
|
||||
firefox -P default-release "$ruta" &
|
||||
|
||||
Reference in New Issue
Block a user