#!/usr/bin/env sh

# clip -- easy copying to x clipboard manager with xclip
#
# clips the first argument to the clipboard
# or stdin if stdin is passed
# will copy png/jpg as image files
#
# idea ~~stolen~~ creatively borrowed from
# https://github.com/kyazdani42/dotfiles/blob/master/bin/copy

if ! exist xclip normal; then exit 1; fi

# if we are in a pipe, read from stdin
if [ ! -t 0 ]; then
  xclip -i -selection clipboard /dev/stdin
  exit 0
fi

if [ $# != 1 ] || [ ! -f "$1" ]; then
  printf "No file argument passed to xclip to clip: %s" "$1"
  exit 1
fi

options=""
if grep -qE '.png$' "$1"; then
  options="-target image/png"
elif grep -qE '.jpe\?g$' "$1"; then
  options="-target image/jpeg"
fi

if [ -n "$options" ]; then
  xclip -selection clipboard "$options" "$1"
else
  xclip -selection clipboard "$1"
fi