aboutsummaryrefslogtreecommitdiff
path: root/.local/bin
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin')
-rwxr-xr-x.local/bin/screenshot.sh46
1 files changed, 20 insertions, 26 deletions
diff --git a/.local/bin/screenshot.sh b/.local/bin/screenshot.sh
index dff8701..9481323 100755
--- a/.local/bin/screenshot.sh
+++ b/.local/bin/screenshot.sh
@@ -1,37 +1,31 @@
#!/bin/sh
-img_path=~/Pictures/Screenshots/"$(date +%Y-%m-%d_%H-%m-%s)".png
-
-current_screen() {
- MONITORS=$(xrandr | grep -o '[0-9]*x[0-9]*[+-][0-9]*[+-][0-9]*')
- for mon in ${MONITORS}; do
- # Parse the geometry of the monitor
- MONW=$(echo "${mon}" | awk -F "[x+]" '{print $1}')
- MONH=$(echo "${mon}" | awk -F "[x+]" '{print $2}')
- MONX=$(echo "${mon}" | awk -F "[x+]" '{print $3}')
- MONY=$(echo "${mon}" | awk -F "[x+]" '{print $4}')
- done
-}
+# Get focused output
+output="$(mmsg -g | grep "selmon 1" | awk '{print$1}')"
case $1 in
selected-region)
# Take a screenshot of the selected region
- maim -s "${img_path}"
+ grim -t jpeg -g "$(slurp)" ~/Pictures/Screenshots/"$(date +%Y-%m-%d_%H-%m-%s)".jpg
;;
- selected-window)
- # Take a screenshot of the selected window
- maim -i $(xdotool getactivewindow) "${img_path}"
- ;;
save-to-clipboard)
# Take a screenshot and save it to the clipboard
- current_screen
- maim -g "${MONW}x${MONH}+${MONX}+${MONY}" | xclip -selection clipboard -t image/png
- exit 0
- ;;
- *)
+ grim -g "$(slurp -d)" - | wl-copy
+ ;;
+ focused-window)
+ # Take a screenshot of the focused window
+ xpos=$(mmsg -g -x -o "$output" | grep "x" | awk '{print$2}')
+ xpos=$((xpos-2))
+ ypos=$(mmsg -g -x -o "$output" | grep "y" | awk '{print$2}')
+ ypos=$((ypos-2))
+ xsize=$(mmsg -g -x -o "$output" | grep "width" | awk '{print$2}')
+ ysize=$(mmsg -g -x -o "$output" | grep "height" | awk '{print$2}')
+ xsize=$((xsize+4)) # Value added is 2 times the border width
+ ysize=$((ysize+4)) # Value added is 2 times the border width
+ grim -g "$xpos"",""$ypos $xsize""x""$ysize" -t jpeg ~/Pictures/Screenshots/"$(date +%Y-%m-%d_%H-%m-%s)".jpg
+ ;;
+ *)
# Take a screenshot of the currently focused output and save it into screenshots
- current_screen
- maim -g "${MONW}x${MONH}+${MONX}+${MONY}" "${img_path}"
- exit 0
- ;;
+ grim -o "$output" -t jpeg ~/Pictures/Screenshots/"$(date +%Y-%m-%d_%H-%m-%s)".jpg
+ ;;
esac