screenshot area freeze screen

This commit is contained in:
Ivan Dimitrov 2024-04-23 21:13:48 +03:00
parent 4d585eab94
commit edbf1d6736

View File

@ -1,25 +1,30 @@
#!/usr/bin/env bash #!/usr/bin/env nu
ss_dir="$(xdg-user-dir PICTURES)/ss" let tmp_img = "/tmp/screen.png" | path join
pic_dir="$ss_dir/$(date +%s).png" let ss_dir = ((xdg-user-dir PICTURES | str trim) | path join "ss")
let pic_dir = ($ss_dir | path join ((date now | format date) | str join ".png"))
mkdir -p "$ss_dir" mkdir $ss_dir
copy_image() { def copy_image [] {
wl-copy < "$pic_dir" open $pic_dir | wl-copy
} }
capture_area() { def prepare_screen [] {
grim -g "$(slurp)" "$pic_dir" && copy_image let grim_id = pueue add -i -p grim $tmp_img
let imv_id = pueue add -a $grim_id -p imv -f $tmp_img
grim -g $"(slurp)" $pic_dir
pueue kill $imv_id $grim_id
pueue wait
pueue remove $imv_id $grim_id
} }
capture_screen() { def "main area" [] {
grim "$pic_dir" && copy_image prepare_screen
copy_image
} }
if [[ "$1" = "area" ]]; then def main [] {
capture_area grim $pic_dir
else copy_image
capture_screen }
fi