diff options
-rw-r--r-- | .qutebrowser/keys.conf | 3 | ||||
-rwxr-xr-x | .qutebrowser/userscripts/url-from-surfraw | 22 |
2 files changed, 14 insertions, 11 deletions
diff --git a/.qutebrowser/keys.conf b/.qutebrowser/keys.conf index 359789e..de9241c 100644 --- a/.qutebrowser/keys.conf +++ b/.qutebrowser/keys.conf @@ -53,6 +53,9 @@ clear-keychain ;; search set-cmd-text -s :spawn --userscript url-from-surfraw o +set-cmd-text -s :spawn --userscript url-from-surfraw -t + t + set-cmd-text :open {url} go diff --git a/.qutebrowser/userscripts/url-from-surfraw b/.qutebrowser/userscripts/url-from-surfraw index 3aaf30a..9bd6795 100755 --- a/.qutebrowser/userscripts/url-from-surfraw +++ b/.qutebrowser/userscripts/url-from-surfraw @@ -2,19 +2,19 @@ DEFAULT_SEARCH=startpage -string="$1 $2" +if [[ $1 =~ ^-.$ ]]; then + option="$1" + shift 1 +fi -set -- $string is_elvi=$(surfraw -elvi | grep -c "^$1\s") -nbr_words=$(echo "$string" | wc -w) -if [ "$nbr_words" -eq 1 ] && [ "$is_elvi" -eq 0 ] && ([[ "$string" == *.* ]] || [[ "$string" == *:* ]]) -then +nbr_words=$(echo $1 | wc -w) + +if [[ $is_elvi -eq 0 && $nbr_words -eq 1 && ($1 == *.* || $1 == *:*) ]]; then url="$1" -elif [ $is_elvi -eq 1 ] -then - url="$(surfraw -print $string)" -else - url="$(surfraw -print $DEFAULT_SEARCH $string)" +else + [[ $is_elvi -eq 0 ]] && sr="$DEFAULT_SEARCH $*" || sr=$* + url=$(surfraw -print $sr) fi -echo "open $url" >> "$QUTE_FIFO" +echo "open $option $url" >> $QUTE_FIFO |