diff options
Diffstat (limited to 'wofi-calc.sh')
-rwxr-xr-x | wofi-calc.sh | 34 |
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 |