screenshot: make canceling not show choose
This commit is contained in:
parent
94352621a9
commit
72b454aaa2
29
screenshot
29
screenshot
|
@ -41,8 +41,8 @@ choose() {
|
|||
|
||||
freeze() {
|
||||
tmpfreeze="$(mktemp -t screenshot_freeze_XXXX.png)"
|
||||
$cap "$tmpfreeze"
|
||||
$freeze "$tmpfreeze" &
|
||||
$freeze_cmd "$tmpfreeze"
|
||||
$freeze_img "$tmpfreeze" &
|
||||
freeze_pid=$!
|
||||
sleep 0.1
|
||||
# x11: window manager makes it fullscreen
|
||||
|
@ -52,23 +52,25 @@ freeze() {
|
|||
case "${XDG_SESSION_TYPE:-}" in
|
||||
wayland)
|
||||
editor="swappy -f"
|
||||
freeze="swayimg -g 0,0,1920,1080"
|
||||
cap="grim -l 0"
|
||||
freeze_img="swayimg -g 0,0,1920,1080"
|
||||
freeze_cmd="grim -l 0"
|
||||
ss() {
|
||||
if [ -n "$REGION" ]; then
|
||||
eval 'grim '"$(slurp -f '-g "%x,%y %wx%h"')"' "$tmpfp"'
|
||||
else
|
||||
grim "$tmpfp"
|
||||
reg="$(slurp -f '-g "%x,%y %wx%h"')" || return 1
|
||||
fi
|
||||
grim ${REGION:+-g "$reg"} "$tmpfp"
|
||||
wl-copy < "$tmpfp"
|
||||
}
|
||||
;;
|
||||
*)
|
||||
editor="gimp -n"
|
||||
freeze="nsxiv -b -N SCREENSHOT_FREEZE"
|
||||
cap="shotgun"
|
||||
freeze_img="nsxiv -b -N SCREENSHOT_FREEZE"
|
||||
freeze_cmd="shotgun"
|
||||
ss() {
|
||||
shotgun ${SCREEN:+-s} ${REGION:+$(hacksaw -f '-i %i -g %g')} \
|
||||
if [ -n "$REGION" ]; then
|
||||
reg="$(hacksaw -f '-i %i -g %g')" || return 1
|
||||
fi
|
||||
shotgun ${SCREEN:+-s} ${REGION:+$reg} \
|
||||
${WINDOW:+-i $(xdotool getactivewindow)} "$tmpfp"
|
||||
xclip -sel clipboard -t image/png < "$tmpfp"
|
||||
}
|
||||
|
@ -81,15 +83,16 @@ trap 'clean' EXIT
|
|||
SCREEN="" REGION="" WINDOW="" FREEZE="" ssopts=""
|
||||
while getopts :srwf OPT; do
|
||||
case "$OPT" in
|
||||
s) SCREEN=1 ;; #screen
|
||||
s) SCREEN=1 ;; # screen
|
||||
r) REGION=1 ;; # region
|
||||
w) WINDOW=1 ;; # active window
|
||||
w) WINDOW=1 ;; # active window (don't use with region)
|
||||
f) freeze ;; # freeze screen, only useful with -r
|
||||
*) echo "invalid option: -$OPTARG" && exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
ss
|
||||
ec=$?
|
||||
|
||||
[ -n "${freeze_pid:-}" ] && kill "$freeze_pid" && freeze_pid="" # unfreeze
|
||||
choose
|
||||
[ "$ec" -eq 0 ] && choose
|
||||
|
|
Loading…
Reference in New Issue