summaryrefslogtreecommitdiff
path: root/.local/bin/desktop/edit-graphical-buffer
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/desktop/edit-graphical-buffer')
-rwxr-xr-x.local/bin/desktop/edit-graphical-buffer17
1 files changed, 17 insertions, 0 deletions
diff --git a/.local/bin/desktop/edit-graphical-buffer b/.local/bin/desktop/edit-graphical-buffer
new file mode 100755
index 0000000..10eac8f
--- /dev/null
+++ b/.local/bin/desktop/edit-graphical-buffer
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+sleep 0.5
+xdotool key --clearmodifiers ctrl+a ctrl+c
+content="$(xclip -o -sel clipboard)"
+
+tempfile=/tmp/scratch-buffer/$$.txt
+mkdir -pv /tmp/scratch-buffer
+echo "$content" | tee "$tempfile" > "$tempfile.bak"
+${TERMINAL:-xdg-terminal-exec} -c dropdown_buffer -e nvim "$tempfile"
+
+diff "$tempfile" "$tempfile.bak" >/dev/null || {
+ xclip -sel clipboard < "$tempfile"
+ xdotool key --clearmodifiers ctrl+a ctrl+v
+}
+
+rm -f "$tempfile" "$tempfile.bak"