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"
pic_dir="$ss_dir/$(date +%s).png"
let tmp_img = "/tmp/screen.png" | path join
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() {
wl-copy < "$pic_dir"
def copy_image [] {
open $pic_dir | wl-copy
}
capture_area() {
grim -g "$(slurp)" "$pic_dir" && copy_image
def prepare_screen [] {
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() {
grim "$pic_dir" && copy_image
def "main area" [] {
prepare_screen
copy_image
}
if [[ "$1" = "area" ]]; then
capture_area
else
capture_screen
fi
def main [] {
grim $pic_dir
copy_image
}