nix-configs/scripts/desktop/searchwolf.nix
2022-09-29 00:57:30 +02:00

30 lines
769 B
Nix

{ pkgs, ... }:
pkgs.writeShellScriptBin "searchwolf" ''
echo "retv $ROFI_RETV"
if [ x"$@" = x"exit" ]; then
exit 0
fi
case $ROFI_RETV in
0)
;;
1)
if [ $ROFI_DATA = x"" ]; then
exit 0
fi
coproc ( librewolf --new-tab "$(echo $ROFI_DATA | jq -r.[''${@%%.*}])" > /dev/null 2>&1 )
exit 0
;;
2)
ddgrout=$(ddgr --json --num=25 "$@")
for i in $(echo $ddgrout | jq -r 'keys | @sh'); do
title=$(echo $ddgrout | jq -r .[$i].title)
url=$(echo $ddgrout | jq -r .[$i].url)
echo "$i. $title ($url)"
done
echo -e "\0data\x1f$(echo $ddgrout | jq -r .[].url | jq -sRc '. | split("\n") | [ .[] | select(length > 0) ]')"
;;
esac
''