diff --git a/xresources/.local/bin/clip b/xresources/.local/bin/clip new file mode 100755 index 0000000..b27880a --- /dev/null +++ b/xresources/.local/bin/clip @@ -0,0 +1,36 @@ +#!/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