89 lines
2.6 KiB
Bash
Executable File
89 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
# v0.3
|
|
# Dependencias:ImageMagick, xclip, dzen2, xdotool
|
|
#
|
|
# Shell: POSIX compliant
|
|
# Autor: O. Sánchez <o-sanchez@linuxmail.org>
|
|
|
|
script="${0##*/}"
|
|
|
|
DIR="$HOME"/Datos/Capturas
|
|
DATE="$(date +%Y%m%d-%H%M%S)"
|
|
|
|
|
|
admin() {
|
|
if command -v sudo >/dev/null && sudo -l | grep -q -e ' ALL$' -e xbps-install; then
|
|
echo sudo
|
|
elif command -v doas >/dev/null && [ -f /etc/doas.conf ]; then
|
|
echo doas
|
|
fi
|
|
}
|
|
|
|
SUDO=$(admin)
|
|
|
|
if ! command -v import > /dev/null; then
|
|
printf '%b' "\033[31;5m[ERROR] Dependencias no satisfecha. Instalando ImageMagick...\033[0m\n"
|
|
"$SUDO" xbps-install -y ImageMagick
|
|
elif ! command -v xclip > /dev/null; then
|
|
printf '%b' "\033[31;5m[ERROR] Dependencias no satisfecha. Instalando xclip...\033[0m\n"
|
|
"$SUDO" xbps-install -y xclip
|
|
elif ! command -v dzen2 > /dev/null; then
|
|
printf '%b' "\033[31;5m[ERROR] Dependencias no satisfecha. Instalando dzen2...\033[0m\n"
|
|
"$SUDO" xbps-install -y dzen2
|
|
elif ! command -v xdotool > /dev/null; then
|
|
printf '%b' "\033[31;5m[ERROR] Dependencias no satisfecha. Instalando xdotool...\033[0m\n"
|
|
"$SUDO" xbps-install -y xdotool
|
|
fi
|
|
|
|
ayuda() {
|
|
printf %s "\
|
|
Script para realizar capturas de pantalla utilizando ImageMagick.
|
|
|
|
Modo de uso:
|
|
$script [-PsfgSFh]
|
|
-P Guardar captura de pantalla completa en el portapapeles
|
|
-s Guardar área seleccionada en el portapapeles
|
|
-f Guardar captura de pantalla de ventana activa en el portapapeles
|
|
-g Guardar captura de pantalla completa en el disco duro
|
|
-S Guardar área seleccionada en el disco duro
|
|
-F Guardar captura de pantalla de ventana activa en el disco duro
|
|
--help | -h Mostrar este mensaje de ayuda
|
|
|
|
"
|
|
}
|
|
|
|
msg() {
|
|
dzen2 -p 8 -e 'onstart=uncollapse' -fn 'JetBrains Mono:size=8:style=bold' -ta 5 \
|
|
-sa c -w 260 -x 1100 -y 25 -l 1
|
|
}
|
|
|
|
case "$1" in
|
|
-p)
|
|
import -window root png:- | xclip -t 'image/png' -selection 'clipboard' -i
|
|
;;
|
|
-s)
|
|
sleep 1 && import png:- | xclip -t 'image/png' -selection 'clipboard' -i
|
|
;;
|
|
-f)
|
|
import -window "$(xdotool getwindowfocus)" png:- | xclip -t 'image/png' -selection 'clipboard' -i
|
|
;;
|
|
-g)
|
|
[ ! -d "$DIR" ] && mkdir "$DIR"
|
|
import -format png -window root "$DIR/$DATE.png"
|
|
"$HOME"/.local/bin/dunst_sound
|
|
printf '%s\n' "CAPTURA DE PANTALLA" "Guardando en: ~/Datos/Capturas" | msg
|
|
;;
|
|
-S)
|
|
[ ! -d "$DIR/Select" ] && mkdir -p "$DIR/Select"
|
|
sleep 1 && import -format png "$DIR/Select/select-$DATE.png"
|
|
"$HOME"/.local/bin/dunst_sound
|
|
printf '%s\n' "ÁREA SELECCIONADA" "Guardando en: ~/Datos/Capturas/select" | msg
|
|
;;
|
|
-F)
|
|
[ ! -d "$DIR/Select" ] && mkdir -p "$DIR/Select"
|
|
import -window "$(xdotool getwindowfocus)" -format png "$DIR/Select/window-$DATE.png"
|
|
;;
|
|
--help|-h|*)
|
|
ayuda
|
|
esac
|