captura y bloqueo de pantalla en i3wm

Como siempre el tiempo te da chance de mejorar y seguir aprendiendo. Como escribí en algunas entradas anteriores sobre i3wm, pueden buscarlo como tag, vengo usando scrot como programa CLI para capturas de pantalla, ya que es minimalista para lo que quiero hacer con mi flujo de trabajo. Obviamente lo pase a un keybinding, pero pase por alto que los bindsym a veces requieren de otros atributos, para que los atajos funcionen correctamente. ¡¡¡aich!!!

Para poder hacer la captura seleccionando el área con el puntero del mouse (convertido a una cruz) pues vincule a un atajo el comando scrot -s, pero no me dio el resultado requerido (no funcionaba). Así que me pase por el i3Faq, donde sugerían para ciertos casos usar el flag --release, para que se ejecutara correctamente el comando.

bindsym --release $mod+Print exec "scrot -s -e 'mv $f ~/ruta/donde/guardas/capturas'"

De esta forma logre que cumpla su cometido, agregándolo a mi archivo de configuración. Ya que estaba metido en esto, también se me dio por cambiar el bloqueo de pantalla, de una simple imagen plana (por defecto es un fondo blanco) a algo mas personalizado…así que curioseando por la red, me encontré con esta entrada en reddit así que lo aplique como alternativa a mi lockscreen soso.

Primero creamos un script, en mi caso de nombre bloqueo.sh, el cual modifique a mis necesidades y que agregue a mis bindsym. No olvidar otorgarle permisos de ejecución chmod +x bloqueo.sh, a continuación el script:

#!/bin/zsh
revert() {
  rm /tmp/*screen*.png
  xset dpms 0 0 0
}
trap revert HUP INT TERM
xset +dpms dpms 0 0 8
scrot -d 1 /tmp/locking_screen.png
convert -blur 0x8 /tmp/locking_screen.png /tmp/screen_blur.png
convert -composite /tmp/screen_blur.png ~/Imágenes/Logo.png -gravity Center -geometry -20x20 /tmp/screen.png
i3lock -i /tmp/screen.png
revert

Este script captura la pantalla del workspace actual usando scrot, luego usa convert parte del paquete imagemagick ( así que ambos programas son requeridos) para desenfocar la captura de pantalla con la opción -blur. Después superpondrá la imagen borrosa con la nuestra, con -composite, otorgándole posicionamiento con -gravity y -geometry (acondicionarlo según sea la necesidad) finalmente, utilizando i3lock, bloqueará la pantalla con las imágenes combinadas. Gracias a dpms pasados 8 minutos de estar bloqueado, se apagará el monitor. La próxima vez que se desbloquee la pantalla, se limpia y eliminan todos los archivos /tmp/*screen*.png gracias a la función revert.

Finalmente lo vincule a un atajo, que agregue a mi archivo de configuración:

bindsym $mod+Scroll_Lock exec "~/scripts/bloqueo.sh"

Y listo a gozar. Hasta otro post lectores, buenas vibras. Happy Hacking!

5 comentarios

    1. Si mal no recuerdo lo leí en su momento, antes o después de comenzar con i3wm no lo puedo asegurar. Pero viene bien las opciones y contribuciones. Gracias colega, por pasarte.
      Saludos.

      Me gusta

Deja un comentario