aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/bin/menugrim
blob: 28e124994160450bcd1404cc82537fc6b13acfa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh

if ! [ -d $SCROT_DIR ]; then
	mkdir -p $SCROT_DIR
fi

# Source settings from .bemenurc
. ~/.config/bemenurc

notify_saved() {
    notify-send "screenshot has been saved in $SCROT_DIR" ;
}

notify_copied() {
    notify-send "screenshot has been copied to clipboard" ;
}

case "$1" in
    --quick|-q)
        grim $SCROT_DIR/fullscreen-"$(date '+%y%m%d-%H%M-%S').png"; notify_saved ;;
    *)
        case "$(printf "a selected area\ncurrent window\nfull screen\na selected area (copy)\ncurrent window (copy)\nfull screen (copy)\n" | bemenu -l 6 -i -p "Screenshot which area?" --tf="$BEMENU_TF" --tb="$BEMENU_NB" --fb="$BEMENU_NB" --fn="$BEMENU_FN" --nb="$BEMENU_NB" --nf="$BEMENU_NF" --hf="$BEMENU_HF" --hb="$BEMENU_HB" --monitor="$BEMENU_MONITOR")" in
            "a selected area") grim -g "$(slurp)" $SCROT_DIR/selected-"$(date '+%y%m%d-%H%M-%S').png"; notify_saved ;;
            "current window") grim -g "$(swaygetcurrentwindow)" $SCROT_DIR/window-"$(date '+%y%m%d-%H%M-%S').png"; notify_saved ;;
            "full screen") grim $SCROT_DIR/fullscreen-"$(date '+%y%m%d-%H%M-%S').png"; notify_saved ;;
            "a selected area (copy)") grim -g "$(slurp)" - | wl-copy; notify_copied ;;
            "current window (copy)") grim -g "$(swaygetcurrentwindow)" - | wl-copy; notify_copied ;;
            "full screen (copy)") grim - | wl-copy; notify_copied ;;
            *) exit 0 ;;
        esac
esac