lunes, 3 de mayo de 2021

Scripts y 'Nemo actions' en Bullseye

Como llevo comentando, hace unas semanas me pasé, haciendo una instalación ‘desde cero’, a Debian 11 Bullseye... aunque está todavía en fase ‘alpha’. En general funciona bien, y estoy contento con el cambio, porque no deja de tener cierta ‘erótica’ eso de que todos los días te avise de que hay nuevas actualizaciones que, acostumbrado a la ancestral estabilidad de la ‘versión oficial’ de Debian, el parecer que estás en una ‘rolling-release’ es como si te entrase un poco de aire fresco por la ventana…

Decía que, en general, funciona muy bien, pero hay algunas excepciones. O, al menos, he descubierto que en mi PC (y en mi ámbito de uso) tanto el tema de impresoras (uso una HP) como la nueva versión de ‘simple-scan’ (paquete que, además, ha cambiado de diseñador) es bastante pobre, y sobre todo bastante más lenta que la que tenía antes. Espero que se solucione (de hecho, parece que va un poco mejor)

Pero donde también tengo algún problemilla es con el navegador de archivos Nemo, que siempre me pareció magnífico… pero ahora no saco partido de las ‘acciones contextuales’ (acciones de Nemo, o Nemo Actions) de ‘redimensionar imágenes’, que siempre me resultó muy cómodo tenerlas.

Y el caso es que me resulta muy raro, y hasta puede que el problema esté en las herramientas del ‘imagemagick’ (convert, mogrity, resize…), porque resulta que una ‘Nemo action’ que creé hace pocos meses, la de extraer páginas de un PDF, con PDFTK, me funciona bien.

Así que, como el tema del redimensionamiento de imágenes claramente ‘no va’, decidí ‘darle una vuelta’ al tema.
Y esta vuelta, que me funciona perfectamente, es usar los ‘script de Nemo’, que es una utilidad que no recuerdo haber usado antes. Es muy sencillo: se trata de crear scripts y guardarlos (de forma semejante a lo que hacemos con las ‘actions’) en la carpeta (de la home de tu usuario)...
~/.local/share/nemo/scripts/
o bien, para que sean aplicables a todos los posibles usuarios, en
/usr/share/nemo/scripts/
…de manera que, en mi nuevo Nemo, con añadirlos a alguna de esas carpetas, ya te aparecen en el menú contextual (botón derecho ratón sobre un archivo).
Pero con estos importantes matices:

a) En mi versión actual ‘en español’ de Bullseye, y en el menú contextual de Nemo, la palabra ‘Scripts’ se referencia como ‘Guiones’. Que es lo suyo, pero me parece que se pasan de 'puristas', todo el mundo usa la palabra 'script'. Bien, pues pinchando en 'Guiones' es como aparecen los que tengas incorporados. Recordemos que, en el caso de las ‘acciones’, el acceso es directo. Así que esto es más incómodo… y lo de ‘Guiones’ 'rechina' un poco...
b) Además, en las acciones, su aparición es ‘selectiva’ es decir, solo aparece la acción determinada si pinchas en un archivo que tenga una extensión ‘admitida’ para dicha acción. Pero en los scripts no ocurre esto, y te aparecen siempre todos los scripts (que unas veces serán aplicables, serán aplicables, y otras no).

Bien, pues el caso es que, para poder hacer algo con el redimensionamiento de imágenes, que había dejado de funcionarme, me he creado este script, que llamo ‘Escalar IMG.sh’ y que, dándole los permisos oportunos, guardo (en mi caso) en ‘/home/doc/.local/share/nemo/scripts/
#!/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

NOTA: este es un script que encontré en una vieja web sobre scripts y acciones para Nautilus y que ‘adecué’ de acuerdo a mis conocimientos. Debo decir que esa parte de...
echo $i | sed 's/"//g'…
no tengo ni idea de lo que significa… pero funciona.

Así que con mi zenity y mi lista con ‘radiolist’ (para poder marcar solo una opción), he resuelto (creo que muy elegantemente) el tema de redimensionamiento de imágenes que se me había atascado.

Y, como remate final, descubierta la utilidad de los scripts de Nemo, aunque resulten algo más incómodos que las ‘acciones’, me permití este juego de crear, con nombre ‘Dia y Hora.sh’ este otro pequeño script...
#!/bin/bash
fecha=$(date +"%A, %d de %B de %Y")
hora=$(date +"%H:%M")
zenity --width="130" --height="120" --title "Dia y Hora actual" --info --text "Ahora son las $hora del $fecha"

que también me apetece (al menos hasta que me canse de él) meter entre mis scripts (‘Guiones’) de Nemo.

No hay comentarios:

Publicar un comentario