diff options
Diffstat (limited to 'screenshot.fish')
| -rwxr-xr-x | screenshot.fish | 18 |
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" \ |