aboutsummaryrefslogtreecommitdiff
path: root/local/bin
diff options
context:
space:
mode:
Diffstat (limited to 'local/bin')
-rwxr-xr-xlocal/bin/translate-prompt40
1 files changed, 40 insertions, 0 deletions
diff --git a/local/bin/translate-prompt b/local/bin/translate-prompt
new file mode 100755
index 0000000..9419f2a
--- /dev/null
+++ b/local/bin/translate-prompt
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+command -v trans > /dev/null ||
+ { echo "translate-shell not installed" ; exit 1 ; }
+command -v rofi > /dev/null &&
+ menu_exec='rofi -dmenu' ||
+ menu_exec='dmenu'
+
+choice="$(
+$menu_exec <<EOF
+From Clipboard
+Open Editor
+EOF
+)"
+
+# TODO: alacritty --class CustomFloating when I figure out how to center floating windows
+
+text_file="$(mktemp /tmp/translate_prompt_text_XXXXXX)"
+
+case "$choice" in
+ 'From Clipboard')
+ xclip -out -selection clipboard > "$text_file"
+ ;;
+ 'Open Editor')
+ text_file="$(mktemp /tmp/translate_prompt_text_XXXXXX)"
+ "$TERMINAL" -e "$EDITOR" "$text_file"
+ ;;
+ *)
+ echo -n "$choice" > "$text_file"
+ ;;
+esac
+
+brief=-brief
+if [ "$(head -c1 "$text_file")" = '#' ]
+then
+ brief=''
+ sed -i '1 s/^#//' "$text_file"
+fi
+
+"$TERMINAL" -e trans $brief -view -input "$text_file"