diff options
author | Vinko Kašljević <vinko.kasljevic@gmail.com> | 2020-07-15 18:31:09 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-07-15 18:49:32 +0200 |
commit | c65cd1cffa5a791202ee913afef40dffdc54e5bc (patch) | |
tree | e921bba840c3ccad30acdc10a48b92cd04b36b44 | |
parent | acbe9028157c67eb3937299ff86e5ee26816a408 (diff) |
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.
-rwxr-xr-x | contrib/grimshot | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/contrib/grimshot b/contrib/grimshot index 4ee8d902..461a5eef 100755 --- 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" |