58 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/sh
 | |
| # Tiny script to send url, file, video, img, … to a Kodi instance.
 | |
| # Use idok script. Please see https://github.com/metal3d/idok
 | |
| 
 | |
| # Works with Nautilus, Caja, …
 | |
|     # Nautilus: cp send_to_kodi ~/.local/share/nautilus/scripts/ ; chmod +x ~/.local/share/nautilus/scripts/send_to_kodi
 | |
|     # Nemo:     cp send_to_kodi ~/.gnome2/nemo-scripts/          ; chmod +x ~/.gnome2/nemo-scripts/send_to_kodi
 | |
|     # Caja:     cp send_to_kodi ~/.config/caja/scripts/          ; chmod +x ~/.config/caja/scripts/send_to_kodi
 | |
| 
 | |
| ################################################
 | |
| #        notification depends of system        #
 | |
| ################################################
 | |
| notif() {
 | |
|   # the script is running in a term
 | |
|   if [ $(env | grep '^TERM') ]; then printf "\n#### $(basename -- "$0") notification ####\n  ⇒  $1\n\n"
 | |
|   else # in x, notifications
 | |
|     if   command -v xmessage 2>/dev/xmessagenull; then xmessage "$1" -timeout 5
 | |
|     elif command -v notify-send 2>/dev/null; then notify-send "$1"
 | |
|     elif command -v kdialog 2>/dev/null; then { kdialog --title "$1" --passivepopup "This popup will disappear in 5 seconds" 5 & }
 | |
|     elif command -v zenity 2>/dev/null; then { echo "message:$1" | zenity --notification --listen & }
 | |
|     else echo "$1" > "$(basename -- $0)_notif.txt"
 | |
|     fi
 | |
|   fi
 | |
| }
 | |
| 
 | |
| ################################################
 | |
| #               dependency check               #
 | |
| ################################################
 | |
| depend_check() {
 | |
|   #printf '%b' "depend_check: $arg \n"
 | |
|   for arg; do
 | |
|     command -v "$arg" 2>/dev/null || { notif >&2 "Error: Could not find \"$arg\" application."; exit 1; }
 | |
|   done
 | |
| }
 | |
| 
 | |
| ################################################
 | |
| #          check if input files > min          #
 | |
| ################################################
 | |
| nb_files_check() {
 | |
|   nb_files="$1"
 | |
|   min_nb_files="$2"
 | |
|   if [ $1 -lt $2 ]; then
 | |
|     notif "$1 file selected, \"$(basename -- $0)\" needs at least $2 input file(s)."
 | |
|     exit 1
 | |
|   fi
 | |
| }
 | |
| 
 | |
| ################################################
 | |
| #                    script                    #
 | |
| ################################################
 | |
| nb_files_check $# 1
 | |
| 
 | |
| depend_check idok-x86_64
 | |
| 
 | |
| command idok-x86_64 $*
 | |
| 
 | |
| exit 0
 |