summaryrefslogtreecommitdiff
path: root/screenshot.fish
diff options
context:
space:
mode:
Diffstat (limited to 'screenshot.fish')
-rwxr-xr-xscreenshot.fish18
1 files changed, 18 insertions, 0 deletions
diff --git a/screenshot.fish b/screenshot.fish
index 5274c67..ecabbc0 100755
--- a/screenshot.fish
+++ b/screenshot.fish
@@ -4,6 +4,24 @@
mkdir -p "$C_CACHE/screenshots"
set -l tmp_file "$C_CACHE/screenshots/$(date +'%Y%m%d%H%M%S')"
+
+if test "$argv[1]" = 'region'
+ if test "$argv[2]" = 'freeze'
+ wayfreeze --hide-cursor & set PID $last_pid
+ sleep .1
+ end
+
+ set -l ws (hyprctl -j activeworkspace | jq -r '.id')
+ set -l region (hyprctl -j clients | jq -r --argjson activeWsId $ws '.[] | select(.workspace.id == $activeWsId) | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | slurp)
+ if test -n "$region"
+ grim -l 0 -g $region - | swappy -f - &
+ end
+
+ set -q PID && kill $PID
+
+ exit
+end
+
grim $argv $tmp_file; and wl-copy < $tmp_file; or exit 1
set -l action (notify-send -i 'image-x-generic-symbolic' -h "STRING:image-path:$tmp_file" \