58 lines
2.1 KiB
Plaintext
58 lines
2.1 KiB
Plaintext
|
#!/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
|