aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/bin/menugrim
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.local/bin/menugrim')
-rwxr-xr-xdotfiles/.local/bin/menugrim33
1 files changed, 33 insertions, 0 deletions
diff --git a/dotfiles/.local/bin/menugrim b/dotfiles/.local/bin/menugrim
new file mode 100755
index 0000000..bc77c11
--- /dev/null
+++ b/dotfiles/.local/bin/menugrim
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+if ! [ -d $SCROT_DIR ]; then
+ mkdir -p $SCROT_DIR
+fi
+
+# Source settings from .bemenurc
+. $HOME/.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")" 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
+
+