#!/bin/sh # Requires maim. It lets you choose the kind of screenshot to take, # including copying the image or even highlighting an area to copy. output="$HOME/downloads/screenshot-$(date '+%Y-%m-%d_%H-%M-%S').png" xclip_cmd="xclip -sel clip -t image/png" case "$(printf "a selected area\\ncurrent window\\nfull screen\\na selected area (clipboard)\\ncurrent window (clipboard)\\nfull screen (clipboard)\\ncolor picker (clipboard)" | dmenu -l 6 -i -p "Screenshot which area?")" in "a selected area") maim -s $output ;; "current window") maim -i "$(xdotool getactivewindow)" $output ;; "full screen") maim $output ;; "a selected area (clipboard)") maim -s | ${xclip_cmd} ;; "current window (clipboard)") maim -i "$(xdotool getactivewindow)" | ${xclip_cmd} ;; "full screen (clipboard)") maim | ${xclip_cmd} ;; "color picker (clipboard)") maim -st 0 | convert - -resize 1x1\! -format '%[pixel:p{0,0}]' info:- | ${xclip_cmd} ;; esac