Reset old config
This commit is contained in:
74
bin/scripts/capture
Executable file
74
bin/scripts/capture
Executable file
@ -0,0 +1,74 @@
|
||||
#!/usr/bin/fish
|
||||
#
|
||||
# Screenshot wrapper
|
||||
#
|
||||
# Take a screenshot of a
|
||||
# region, window, or screen
|
||||
# and
|
||||
# save it to $dest
|
||||
# copy it to the clipboard
|
||||
# pipe it through tesseract and xclip the result
|
||||
|
||||
|
||||
function capture
|
||||
# Screenshot save location
|
||||
set dest $HOME/Screenshots/
|
||||
|
||||
#set tmp_file (mktemp --tmpdir "scrot-tmp-XXX.png")
|
||||
set tmp_file "/tmp/scrot-tmp.png"
|
||||
|
||||
# Capture the desired portion of the screen
|
||||
switch $argv[1]
|
||||
case window
|
||||
scrot --overwrite --silent --focused $tmp_file
|
||||
case screen
|
||||
scrot --overwrite --silent $tmp_file
|
||||
case region
|
||||
scrot --overwrite --silent --select --freeze --line style=dash,width=2 $tmp_file
|
||||
case "*"
|
||||
echo "Unknown source \"$argv[1]\""
|
||||
echo ""
|
||||
echo "Usage: capture [source] [target]"
|
||||
echo " Valid sources: window, screen, region"
|
||||
echo " Valid targets: save, copy, ocr"
|
||||
return 0
|
||||
end
|
||||
|
||||
# Output to the desired location
|
||||
switch $argv[2]
|
||||
case save
|
||||
set fname (md5sum $tmp_file | cut -c 1-32)
|
||||
mv $tmp_file "$dest$fname.png"
|
||||
|
||||
case copy
|
||||
# Don't use the mktmp file here, since we can't clean
|
||||
# it away immediately. Use the fixed /tmp/scrot-clip insead.
|
||||
# (Only applicable when a mktemp file is being used)
|
||||
#rm $tmp_file
|
||||
#set tmp_file /tmp/scrot-clip.png
|
||||
|
||||
xclip -i -selection clipboard -t "image/png" $tmp_file
|
||||
|
||||
case ocr
|
||||
# Recognize text
|
||||
set ocr (tesseract --dpi 96 -l eng $tmp_file stdout)
|
||||
|
||||
# Trim whitespace and copy to clipboard
|
||||
echo $ocr | sed -e "s/^[ \t]*//" | xclip -i -rmlastnl -selection clipboard
|
||||
rm $tmp_file
|
||||
|
||||
case "*"
|
||||
echo "Unknown target \"$argv[2]\""
|
||||
echo ""
|
||||
echo "Usage: capture [source] [target]"
|
||||
echo " Valid sources: window, screen, region"
|
||||
echo " Valid targets: save, copy, ocr"
|
||||
return 0
|
||||
end
|
||||
|
||||
return 1
|
||||
end
|
||||
|
||||
# Awesomewm refuses to execute this without a sleep.
|
||||
sleep 0.1
|
||||
capture $argv
|
Reference in New Issue
Block a user