summarylogtreecommitdiffstats
path: root/wofi-calc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'wofi-calc.sh')
-rwxr-xr-xwofi-calc.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/wofi-calc.sh b/wofi-calc.sh
new file mode 100755
index 000000000000..72fea609acaf
--- /dev/null
+++ b/wofi-calc.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+RESULT_FILE="$HOME/.config/qalculate/qalc.result.history"
+if [ ! -f "$RESULT_FILE" ]; then
+ touch $RESULT_FILE
+fi
+
+LAST_WOFI=""
+QALC_RET=""
+while :
+do
+ qalc_hist=`tac $RESULT_FILE | head -1000`
+ WOFI_RET=`wofi --sort-order=default --cache-file=/dev/null -d -p calc <<< "$qalc_hist"`
+
+ rtrn=$?
+
+ if test "$rtrn" = "0"; then
+ if [[ "$WOFI_RET" =~ .*=.* ]]; then
+ RESULT=`echo "$WOFI_RET" | awk {'print $NF'}`
+ wl-copy "$RESULT"
+ exit 0
+ else
+ QALC_RET=`qalc "$WOFI_RET"`
+ LAST_WOFI=$WOFI_RET
+ echo $QALC_RET >> $RESULT_FILE
+ fi
+ else
+ if [ ! -z "$LAST_WOFI" ]; then
+ RESULT=`qalc -t "$LAST_WOFI"`
+ wl-copy "$RESULT"
+ fi
+ exit 0
+ fi
+done