zJairO

Tomar capturas de pantalla facilmente en i3 wm

04-12-2021

Hola, hoy les quiero compartir un script que uso diariamente para tomar capturas de pantalla en mi arch linux con escritorio i3 wm.

Este no es de mi autoría, es de Rui F Ribeiro, usuario de stackexchange, este script funciona con los paquetes xclip e imagemagick, los cuales nos permitirán capturar la pantalla de nuestro escritorio y además poder seleccionar la región que queramos.

Comenzamos instalando los paquetes xclip e imagemagick

sudo pacman -S xclip imagemagick

Crearemos un archivo y añadiremos lo siguiente (puedes usar tu editor favorito ya sea code, vim, etc)

#!/usr/bin/env bash

# screenshots stuff
# TODO: docs

function help_and_exit {
    if [ -n "${1}" ]; then
        echo "${1}"
    fi
    cat <<-EOF
    Usage: scregcp [-h|-s] [<screenshots_base_folder>]

    Take screenshot of a whole screen or a specified region,
    save it to a specified folder (current folder is default)
    and copy it to a clipboard. 

       -h   - print help and exit
       -s   - take a screenshot of a screen region
EOF
    if [ -n "${1}" ]; then
        exit 1
    fi
    exit 0
}

if [ "${1}" == '-h'  ]; then
    help_and_exit
elif [ "${1:0:1}" == '-' ]; then
    if [ "${1}" != '-s' ]; then
        help_and_exit "error: unknown option ${1}"  
    fi
    base_folder="${2}"
else
    base_folder="${1}"
    params="-window root"
fi  

file_path=${base_folder}$( date '+%Y-%m-%d_%H-%M-%S' )_screenshot.png
import ${params} ${file_path}
xclip -selection clipboard -target image/png -i < ${file_path}

Guardamos nuestro archivo como scregcp y le damos permisos de ejecución

chmod +x scregcp

Moveremos nuestro archivo a /usr/bin/

sudo mv scregcp /usr/bin/

Para finalizar editaremos el archivo .config/i3/config para configurar los nuevos shortcuts

bindsym --release Shift+Print exec "scregcp -s $HOME/Pictures/Screenshots/"
bindsym --release Print exec "scregcp $HOME/Pictures/Screenshots/"

Ahora refrescamos la configuración de i3 y tendremos todo listo, en mi caso las capturas se guardaran en Pictures/Screenshots/ de igual manera se copiaran en nuestro clipboard.

Saludos.