about summary refs log tree commit diff stats
path: root/sys/nixpkgs/pkgs/scripts/source/small_functions/screenshot_persistent.sh
blob: d9ae30f4f7af7d45a82f4867a94830c29dbb8129 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#! /usr/bin/env dash

# shellcheck source=/dev/null
SHELL_LIBRARY_VERSION="2.1.1" . %SHELL_LIBRARY_PATH

# only generate a path (this could lead to a time-of-check/time-of-use bug)
tmp="$(mktmp --dry-run)"

if grim -g "$(slurp)" "$tmp"; then
    name="$(rofi -dmenu -p "Name of screenshot: " -l 0)"
    screen_shot_path="$HOME/media/pictures/screenshots/$name.png"
    while [ -f "$screen_shot_path" ]; do
        notify-send "Warning" 'Screenshot name already in use!'
        name="$(rofi -dmenu -p "New name of screenshot: " -l 0)"
        screen_shot_path="$HOME/media/pictures/screenshots/$name.png"
    done

    mv "$tmp" "$screen_shot_path"
    alacritty -e lf -command ":{{ set sortby atime; set reverse!; }}"
fi

# vim: ft=sh