jueves, 10 de marzo de 2022

Pequeños grandes inventos para Nemo

Como decía (creo que) Groucho Marx, «hay que saber conformarse con las pequeñas cosas: un pequeño yate, una pequeña mansión, una pequeña fortuna...» Así que hoy, al hilo de este chiste, me apetece hablar de unas pequeñas grandes cosas para Nemo. Bueno, o para Nautilus, que es su padre (más o menos putativo). Desconozco cómo se haría en los ‘navegadores de archivos’ de otros entornos, yo siempre he usado (incluso instalándolo, cuando no aparecía por defecto, porque me encanta)... Nemo.
Y el caso es que, puesto a ir personalizando cosas, tras la reciente reinstalación desde cero de mi Debian, y mi reciente descubrimiento de los ‘PDFs híbridos’, se me ocurrió montar algunas cositas para que aparezcan en el menú contextual de mi Nemo (o sea, cuando das un ‘botón derecho ratón’ sobre un archivo), que vamos a ver ahora...

Técnicamente, se trata de crear algunas acciones (o scripts) de Nemo que me sean, personalmente, útiles, y me refiero, en particular, a abrir (en Libreoffice) los PDFs hibridos, a extraer páginas de PDFs y a redimensionar (escalar) imágenes. De algunos ya había hablado antes, pero me apetece ponerlo aquí al día, y todo junto.

Abrir (editar), en Libreoffice, los PDFs híbridos
Ya dije el otro día que los PDFs híbridos son un gran invento porque los documentos en PDF se visualizan muy rápido… y si se crean en un PDF híbrido siempre los podemos editar en su documento original (odt, ods, odp…), ‘con plenas posibilidades’ para hacer cambios.
Para eso había que arrastrarlo a un lanzador de Libreoffice (o ir a ‘abrir con…) y elegir otro que no sea ni el visor de documentos, ni Gimp, ni Draw… que son los que suelen venir por defecto.
Y como eso es un ‘coñazo’ una solución muy sencilla es crearme esta ‘Nemo_action’ que llamaré 'Abrir_PDF_hibrido.nemo_actiony que guardaré (para mi perfil de usuario), en /home/doc/.local/share/nemo/actions. Y, al ponerme en un archivo PDF y 'botón derecho ratón' me aparece la opción de 'Editar PDF híbrido'.
Y el archivo, de texto, contiene esto:
[Nemo Action]
Active=true
Name=Editar PDF hibrido
Comment=abrir con libreoffice un archivo PDF creado como híbrido
Exec=libreoffice %U
Icon-Name= shotwell
Selection=S
Extensions=PDF;pdf;
#NOTAS
# el parámetro "%U" indica que la acción de LibreOffice se aplique sobre el archivo seleccionado
# el archivo hay que guardarlo como 'nombre_acción.nemo_action' en ~/.local/share/nemo/actions (para el usuario) o en /usr/share/nemo/actions (para todos los usuarios)

(NOTA FINAL: aplicando esta Nemo_action a un PDF que no sea ‘híbrido’, lo abriría con DRAW (hombre, siempre sería mejor, en este caso, cerrarlo y volver a abrirlo con ‘Abrir’, para usar, por defecto, el rápido y cómodo ‘Visor de documentos’... salvo que quieras editarlo (con sus consabidas limitaciones) con DRAW)


Extraer páginas de un PDF
Esto ya lo había comentado aquí pero, en resumen, lo que hay que hacer es...
a) Instalar el paquete pdftk…
sudo apt install pdftk
b) Crear el script (que llamaré ‘ExtraerPagPDF.sh’ y guardaré (es lo más cómodo) en /home/doc/ (que es donde abre, por defecto, la consola)
#!/bin/bash
DESDE=$(zenity --entry --title="Pág. inicial" --text="Iniciar en página...")
HASTA=$(zenity --entry --title="Pág. final" --text="Terminar en página...")
pdftk A="$1" cat 'A'$DESDE-$HASTA output "/home/doc/Escritorio/EXTRAIDO.PDF"

c) Y, finalmente, crear la Nemo Action (que guardaré como ‘Extraer_PagsPDF.nemo_action’)...
[Nemo Action]
Active=true
Name=Extraer páginas de un PDF
Comment=usando pdftk
Exec=sh ExtraerPagPDF.sh "%F"
Icon-Name= shotwell
Selection=S
Extensions=pdf;PDF;

y queda perfecto (en el menú contextual, y en su funcionamiento). (Luego, el archivo ‘EXTRAIDO.PDF’ que aparecerá en el Escritorio, lo llamo como quiera, y lo guardo donde me apetezca).

Redimensionar imágenes
También había comentado, en alguna ocasión, lo de crear una nemo_action con mogrify, etc. pero al final lo que más me gusta es, en vez de una nemo_action, crear un script para Nemo
Precisamente, este...
#!/bin/bash
imgsize=`zenity --list --title="Define el escalado" --width="120" --height="275" \
--radiolist \
--column=" " --column="Opción a elegir" \
FALSE "al 200%" \
FALSE "al 150%" \
FALSE "al 125%" \
FALSE "al 75%" \
FALSE "al 50%" \
FALSE "al 33%" \
FALSE "Salir"`
while [ $# -gt 0 ]; do
IMG=$1
for i in $imgsize; do
i=`echo $i | sed 's/"//g'`
/usr/bin/convert -resize $i "$IMG" "$i-$IMG"
done
shift
done

Que 'bautizo' como ‘Escalar_IMG.sh’ y guardo, ahora, en … /home/doc/.local/share/nemo/scripts. Bueno o, para todos los usuarios, en
/usr/share/nemo/scripts.
Por cierto que, en el menú contextual, esta 'acción' aparecerá, ahora, en Guiones’. Y también, perfecto.


Total, que estos son esos ‘pequeños grandes inventos’ que a uno siempre le resultan útiles...

No hay comentarios:

Publicar un comentario