summaryrefslogtreecommitdiff
path: root/xpaste
diff options
context:
space:
mode:
Diffstat (limited to 'xpaste')
-rwxr-xr-xxpaste12
1 files changed, 6 insertions, 6 deletions
diff --git a/xpaste b/xpaste
index 444206f..77aa842 100755
--- a/xpaste
+++ b/xpaste
@@ -1,17 +1,17 @@
-#!/bin/sh
+#!/bin/sh -e
#
# Copyright (C) 2023 dwlr <dweller@cabin.digital>
#
# BSD 3-Clause License (BSD-3-Clause)
# See LICENSE for details
-set -e
-
-echo "$(xclip -sel clipboard -o -r -t text/uri-list | cut -d':' -f2- | tr -d '\r')" \
+# NOTE: awk part does URI decoding
+xclip -sel clipboard -o -r -t text/uri-list | cut -d':' -f2- | tr -d '\r' \
+| awk -niord '{printf RT?$0chr("0x"substr(RT,2)):$0}' RS=%.. \
| while IFS= read -r path
do
- if [ -e "${path}" ]; then
- cp -v -r "${path}" "$(basename ${path})"
+ if [ -e "$path" ]; then
+ cp -v -r "$path" "$(basename "$path")"
fi
done