summaryrefslogtreecommitdiff
path: root/dotfiles/hyprland/.local/bin/screenshot
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/hyprland/.local/bin/screenshot')
-rwxr-xr-xdotfiles/hyprland/.local/bin/screenshot23
1 files changed, 23 insertions, 0 deletions
diff --git a/dotfiles/hyprland/.local/bin/screenshot b/dotfiles/hyprland/.local/bin/screenshot
new file mode 100755
index 0000000..45925c6
--- /dev/null
+++ b/dotfiles/hyprland/.local/bin/screenshot
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Screenshot tool with fuzzel menu
+# Usage: screenshot [region|fullscreen]
+
+DIR="$HOME/pictures/screenshots"
+mkdir -p "$DIR"
+FILE="$DIR/$(date +%Y-%m-%d_%H%M%S).png"
+
+# Capture
+case "${1:-region}" in
+ region) grim -g "$(slurp)" "$FILE" || exit 1 ;;
+ fullscreen) grim "$FILE" || exit 1 ;;
+esac
+
+# Menu
+CHOICE=$(printf '󰅍 Copy Path\n󰋩 Copy Image\n󰏫 Annotate' | \
+ fuzzel --dmenu --prompt "Screenshot: " --width 20 --lines 3)
+
+case "$CHOICE" in
+ *"Copy Path"*) echo -n "$FILE" | wl-copy --type text/plain ;;
+ *"Copy Image"*) wl-copy --type image/png < "$FILE" ;;
+ *"Annotate"*) satty --filename "$FILE" --output-filename "$FILE" --copy-command wl-copy ;;
+esac