28 lines
		
	
	
		
			848 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			848 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| # Gives a dmenu prompt to search DuckDuckGo.
 | |
| # Without input, will open DuckDuckGo.com.
 | |
| # URLs will be directly handed to the browser.
 | |
| # Anything else, it search it.
 | |
| mainpage="https://duckduckgo.com"
 | |
| searchpage="https://duckduckgo.com/?q=%s"
 | |
| browser=${BROWSER:-firefox}
 | |
| 
 | |
| if [ -z "$(xclip -o -selection clipboard)" ]; then
 | |
| 	choice=$(printf "🔍\n" | dmenu -i -p "Searx:") || exit 1
 | |
| else
 | |
| 	choice=$(printf "🔍\n📋\n" | dmenu -i -p "Searx:") || exit 1
 | |
| fi
 | |
| 
 | |
| if [ "$choice" = "🔍"  ]; then
 | |
|     $browser "$mainpage"
 | |
| elif [ "$choice" = "📋" ]; then
 | |
| 	$browser "$(xclip -o -selection clipboard)"
 | |
| else
 | |
|     if echo "$choice" | grep "^(http:\/\/|https:\/\/)?[a-zA-Z0-9]+\.[a-zA-Z]+(/)?.*$"; then
 | |
|         $browser "$choice"
 | |
|     else
 | |
| 	string="$(echo $choice | sed 's/\ /+/g')"
 | |
| 	$browser "$(echo "${searchpage}" | sed "s/%s/$string/")"
 | |
|     fi
 | |
| fi
 |