#!/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_img="xclip -sel clip -t image/png" xclip_txt="xclip -sel clip -t text/plain" case "$(printf "a selected area\\na selected area (copy)\\ncurrent window\\ncurrent window (copy)\\nfull screen\\nfull screen (copy)\\ncolor picker (copy)" | dmenu -l 6 -i -p "Screenshot which area?")" in "a selected area") maim -s --hidecursor $output ;; "a selected area (copy)") maim -s --hidecursor | ${xclip_img} ;; "current window") maim -i "$(xdotool getactivewindow)" $output ;; "current window (copy)") maim -i "$(xdotool getactivewindow)" | ${xclip_img} ;; "full screen") maim $output ;; "full screen (copy)") maim | ${xclip_img} ;; "color picker (copy)") xcolor |tr -d '\n' | ${xclip_txt} ;; esac