diff options
| author | Anton Bobov <anton@bobov.name> | 2024-03-05 22:18:49 +0500 |
|---|---|---|
| committer | Anton Bobov <anton@bobov.name> | 2024-03-05 22:25:05 +0500 |
| commit | e2917305c959106ab01018b4c768505fb2f655ac (patch) | |
| tree | 55079dff911c81a5f9dbb84f3e584353a74c28ad /paste-image-to-file | |
| parent | c1c648cabb419a0f281e32685287ca1e07e9271f (diff) | |
Updates
Diffstat (limited to 'paste-image-to-file')
| -rwxr-xr-x | paste-image-to-file | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/paste-image-to-file b/paste-image-to-file new file mode 100755 index 0000000..57887ed --- /dev/null +++ b/paste-image-to-file @@ -0,0 +1,29 @@ +#!/bin/bash + +set -euo pipefail + +find_clipboard_image_mime_type() { + xclip -selection clipboard -t TARGETS -o | grep '^image/' | head -1 || true +} + +save_clipboard_image_to_file() { + mime="$1" + outdir="$2" + extension=${mime#*/} + date=$(date +%F-%R) + template="clipboard-$date-XXXX" + filename=$(mktemp --tmpdir="$outdir" --suffix ".$extension" -t "$template") + xclip -selection clipboard -t "$mime" -o >"$filename" + echo "$filename" +} + +main() { + mime=$(find_clipboard_image_mime_type) + if [ -z "$mime" ]; then + echo No image in cliboard >&2 + exit 1 + fi + save_clipboard_image_to_file "$mime" "$PWD" +} + +main "$@" |
