mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2025-10-07 07:22:36 +02:00
33 lines
1.5 KiB
Bash
Executable File
33 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# This is bound to Shift+PrintScreen by default, requires maim. It lets you
|
|
# choose the kind of screenshot to take, including copying the image or even
|
|
# highlighting an area to copy. scrotcucks on suicidewatch right now.
|
|
|
|
# variables
|
|
opts="a selected area
|
|
current window
|
|
full screen
|
|
a selected area (copy)
|
|
current window (copy)
|
|
full screen (copy)
|
|
copy selected image to text
|
|
copy selected image to text (choose language)"
|
|
output="$(date '+%y%m%d-%H%M-%S').png"
|
|
xclip_cmd_png="xclip -sel clip -t image/png"
|
|
xclip_cmd_text="xclip -sel clip"
|
|
tesseract_langs="$(tesseract --list-langs 2>/dev/null | sed '1d;/^List/d;/osd/d')"
|
|
|
|
opt="$(printf "%s\n" "${opts}" | dmenu -l 7 -i -p "Screenshot which area?")"
|
|
case "${opt}" in
|
|
"a selected area") maim -u -s pic-selected-"${output}" ;;
|
|
"current window") maim -B -q -d 0.2 -i "$(xdotool getactivewindow)" pic-window-"${output}" ;;
|
|
"full screen") maim -q -d 0.2 pic-full-"${output}" ;;
|
|
"a selected area (copy)") maim -u -s | ${xclip_cmd_png} ;;
|
|
"current window (copy)") maim -q -d 0.2 -i "$(xdotool getactivewindow)" | ${xclip_cmd_png} ;;
|
|
"full screen (copy)") maim -q -d 0.2 | ${xclip_cmd_png} ;;
|
|
"copy selected image to text") maim -u -s | tesseract stdin stdout -l eng | ${xclip_cmd_text} ;;
|
|
"copy selected image to text (choose language)") lang="$(printf "%s" "$tesseract_langs" | dmenu -i -p "Choose Language")"
|
|
maim -u -s | tesseract stdin stdout -l $lang | ${xclip_cmd_text} ;;
|
|
esac
|