mirror of
				https://github.com/tiyn/dotfiles.git
				synced 2025-10-30 03:51:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| # Dependencies are xclip and xorg-xprop.
 | |
| # qrencode required for qrcode generation.
 | |
| # groff/zathura required for man pages.
 | |
| prim="$(xclip -o)"; [ -z "$prim" ] && exit
 | |
| 
 | |
| PID=$(xprop -id "$(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}')" | grep -m 1 PID | cut -d " " -f 3)
 | |
| PID=$(echo "$(pstree -lpA "$PID" | tail -n 1)" | awk -F'---' '{print $NF}' | sed -re 's/[^0-9]//g')
 | |
| cd "$(readlink /proc/"$PID"/cwd)"
 | |
| [ -f "$prim" ] && xdg-open "$prim" && exit
 | |
| [ -d "$prim" ] && "$TERMINAL" "$prim" && exit
 | |
| 
 | |
| websearch() { "$BROWSER" "https://duckduckgo.com/?q=$@" ;}
 | |
| wikipedia() { "$BROWSER" "https://en.wikipedia.org/wiki/$@" ;}
 | |
| wiktionary() { "$BROWSER" "https://en.wiktionary.org/wiki/$@" ;}
 | |
| maps() { "$BROWSER" "https://www.openstreetmap.org/search?query=$@" ;}
 | |
| ebay() { "$BROWSER" "https://www.ebay.com/sch/$@" ;}
 | |
| 
 | |
| echo "$prim" | grep "^.*\.[A-Za-z]\+.*" >/dev/null && gotourl() { "$BROWSER" "$@" ;}
 | |
| echo "$prim" | grep "^.*@.*\.[A-Za-z]\+$" >/dev/null && email() { xdg-email "$@" ;}
 | |
| command -v qrencode >/dev/null && qrcode() { qrencode "$@" -s 10 -o /tmp/qr.png && xdg-open /tmp/qr.png ;}
 | |
| man -k "^$prim$" >/dev/null && manual() { man -Tpdf "$prim" | zathura - ;}
 | |
| 
 | |
| func="$(declare -F | awk '{print $3}' | dmenu -p "Plumb \"$(echo "$prim" | cut -c -30)\" to?" -i -l 15)"
 | |
| 
 | |
| [ -z "$func" ] || "$func" "$prim"
 |