commit c65cd1cffa5a791202ee913afef40dffdc54e5bc
parent acbe9028157c67eb3937299ff86e5ee26816a408
Author: Vinko Kašljević <vinko.kasljevic@gmail.com>
Date: Wed, 15 Jul 2020 18:31:09 +0200
Add check for empty GEOM variable
In case when slurp is used to select part of screen or a window, if user aborts
the selection, grimshot will capture the whole screen instead of exiting. This
is fixed with check for empty variable.
Diffstat:
1 file changed, 8 insertions(+), 0 deletions(-)
diff --git a/contrib/grimshot b/contrib/grimshot
@@ -111,6 +111,10 @@ if [ "$ACTION" = "check" ] ; then
exit
elif [ "$SUBJECT" = "area" ] ; then
GEOM=$(slurp -d)
+ # Check if user exited slurp without selecting the area
+ if [ -z "$GEOM" ]; then
+ exit
+ fi
WHAT="Area"
elif [ "$SUBJECT" = "active" ] ; then
FOCUSED=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]?, .floating_nodes[]?) | select(.focused)')
@@ -126,6 +130,10 @@ elif [ "$SUBJECT" = "output" ] ; then
WHAT="$OUTPUT"
elif [ "$SUBJECT" = "window" ] ; then
GEOM=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)
+ # Check if user exited slurp without selecting the area
+ if [ -z "$GEOM" ]; then
+ exit
+ fi
WHAT="Window"
else
die "Unknown subject to take a screen shot from" "$SUBJECT"