SuperFinder ← Volver a la web

Manual de la botonera de comandos

La botonera es la herencia del legendario Directory Opus del Amiga: una rejilla de botones donde cada uno ejecuta el comando de shell que tú quieras sobre los archivos seleccionados. Este manual te enseña a crear los tuyos.

Tu primer botón en 60 segundos

  1. Pulsa el de la esquina inferior derecha (o Ajustes → Comandos → «Editar botonera…»).
  2. Pulsa «+». Aparece una fila nueva con cuatro columnas: Nombre (lo que dirá el botón), Comando (el shell que ejecuta), Categoría (opcional, crea tu propio grupo) y Color.
  3. Doble clic en cada celda para editar; Intro para confirmar. Prueba este comando:
echo "$SF_FILES" | while read f; do zip -rq "$f.zip" "$f"; done

Cierra el editor: tu botón está en la rejilla. Selecciona un archivo, púlsalo, y aparecerá su .zip al lado. Eso es todo.

Las variables: tu conexión con los paneles

Cada comando se ejecuta con zsh en la carpeta del panel activo, con estas variables preparadas:

VariableContenido
$SF_FILESRutas de los archivos seleccionados, una por línea
$SF_DIRCarpeta del panel activo (donde se ejecuta el comando)
$SF_OTHER_DIRCarpeta del otro panel — oro para mover cosas «al otro lado»
$SF_APPRuta al ejecutable de SuperFinder, para invocar sus motores internos
$SF_PROMPTSi tu script la menciona, la app pide un valor con un campo oculto (contraseñas) antes de ejecutar
$SF_ASKIgual, pero con campo visible (textos, fechas, nombres…)
$SF_TRANSLATE_LANGEl idioma de destino elegido en Ajustes → «IA — traducir a»

Salida visible: si tu script contiene la marca SF_NOTIFY (por ejemplo en un comentario final # SF_NOTIFY), lo que imprima por pantalla se mostrará en un diálogo al terminar. Sin la marca, el botón trabaja en silencio y solo avisa si hay error.

Los tres patrones de script

1. Uno a uno (el más común)

echo "$SF_FILES" | while read f; do
  sips -Z 1600 "$f"
done

Recorre la selección y ejecuta algo con cada archivo ($f). Las comillas alrededor de "$f" son obligatorias: los nombres con espacios existen.

2. Todos juntos (para comandos que aceptan varios archivos)

files=(); while read f; do files+=("$f"); done <<< "$SF_FILES"
zip -r "paquete.zip" "${files[@]}"

3. Sobre la carpeta (sin selección)

du -sh "$SF_DIR"/* | sort -rh | head -20 | pbcopy # SF_NOTIFY

Los motores internos de SuperFinder

SuperFinder lleva motores propios que no dependen de nada instalado. Se invocan con "$SF_APP" --flag archivos…:

FlagQué hace
--to-pdfConvierte documentos (docx, rtf, html, txt, odt) e imágenes a PDF
--merge-pdfUne varios PDFs en uno
--pdf-to-pngCada página del PDF a imagen PNG a 2x
--ocrExtrae el texto de imágenes (Vision, es/en) a .txt y portapapeles
--remove-bgRecorta el sujeto de la imagen a PNG con transparencia
--watermark "texto"Estampa una marca de agua
--filter gray|sepiaFiltros de imagen
--contact-sheetCuadrícula de miniaturas de las imágenes seleccionadas
--transcribeTranscribe audio a texto (dictado de macOS)
--ai <tarea>IA con tu clave (Ajustes): summarize, describe, rename, proofread, table, translate-to "idioma"

Recetario para copiar y pegar

Enviar al otro panel como ZIP

files=(); while read f; do files+=("$f"); done <<< "$SF_FILES"
zip -rj "$SF_OTHER_DIR/paquete $(date +%H.%M).zip" "${files[@]}"

Buscar texto dentro de los archivos (pide qué buscar)

grep -ril "$SF_ASK" "$SF_DIR" | head -50 # SF_NOTIFY

HEIC → JPG (fotos del iPhone)

echo "$SF_FILES" | while read f; do sips -s format jpeg "$f" --out "${f%.*}.jpg"; done

Vídeo → MP4 (compatible con todo)

echo "$SF_FILES" | while read f; do avconvert --preset PresetHighestQuality --source "$f" --output "${f%.*}.mp4"; done

Abrir en tu editor favorito

echo "$SF_FILES" | while read f; do open -a "Visual Studio Code" "$f"; done

Subir por SFTP a tu servidor (con clave SSH)

files=(); while read f; do files+=("$f"); done <<< "$SF_FILES"
scp "${files[@]}" usuario@servidor.com:/ruta/destino/ && echo "Subidos ${#files[@]} archivos" # SF_NOTIFY

Tamaño de cada subcarpeta

du -sh "$SF_DIR"/*/ 2>/dev/null | sort -rh # SF_NOTIFY

Git: estado del repositorio actual

git -C "$SF_DIR" status --short --branch # SF_NOTIFY

Convertir a audiolibro (voz del sistema)

echo "$SF_FILES" | while read f; do say -f "$f" -o "${f%.*}.m4a"; done

Resumir con IA en el idioma que quieras

echo "$SF_FILES" | while read f; do "$SF_APP" --ai translate-to "gallego" "$f"; done

Categorías, colores y estilo

Seguridad: los comandos se ejecutan con tus permisos y sin red de seguridad: un rm borra de verdad. Prueba los botones nuevos con archivos de mentira, cita siempre las variables ("$f", nunca $f) y desconfía de scripts copiados de internet que no entiendas.