123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- #!/bin/sh
-
- # Check for OS X
- OSASCRIPT=`which osascript`
- KERNEL=`uname -s`
- ISOSX="0"
- # Kernel is darwin, and osascript exists, probably OS X!
- if [ "${KERNEL}" = "Darwin" -a "" != "${OSASCRIPT}" ]; then
- ISOSX="1"
- fi;
-
- if [ "${ISOSX}" != "1" ]; then
- PIDOF=`which pidof`
- if [ "${PIDOF}" = "" ]; then
- # For some reason some distros hide pidof...
- if [ -e /sbin/pidof ]; then
- PIDOF=/sbin/pidof
- elif [ -e /usr/sbin/pidof ]; then
- PIDOF=/usr/sbin/pidof
- fi;
- fi;
-
- PGREP=`which pgrep`
- if [ "${PIDOF}" != "" ]; then
- ISKDE=`${PIDOF} -x -s kdeinit kdeinit4`
- ISGNOME=`${PIDOF} -x -s gnome-panel`
- elif [ "${PGREP}" != "" ]; then
- ISKDE=`pgrep kdeinit`
- ISGNOME=`pgrep gnome-panel`
- else
- ISKDE=`ps -Af | grep kdeinit | grep -v grep`
- ISGNOME=`ps -Af | grep gnome-panel | grep -v grep`
- fi;
- KDIALOG=`which kdialog`
- ZENITY=`which zenity`
- DIALOG=`which dialog`
-
- KSUDO=`which kdesudo`
- GSUDO=`which gksudo`
- fi;
-
- if [ "${ISKDE}" != "" -o "${ZENITY}" = "" ]; then
- USEKDIALOG="1";
- else
- USEKDIALOG="0";
- fi;
-
- messagedialog() {
- # Send message to console.
- echo ""
- echo "-----------------------------------------------------------------------"
- echo "DMDirc: ${1}"
- echo "-----------------------------------------------------------------------"
- echo "${2}"
- echo "-----------------------------------------------------------------------"
-
-
- # If we are on OSX
- if [ "${ISOSX}" = "1" -a "" != "${OSASCRIPT}" ]; then
- echo "Displaying dialog.."
- ${OSASCRIPT} -e 'tell application "System Events"' -e "activate" -e "display dialog \"${1}\n${2}\" buttons {\"Ok\"} giving up after 120 with icon note" -e 'end tell'
- elif [ "" != "${KDIALOG}" -a "" != "${DISPLAY}" -a "" = "${ISGNOME}" -a "${USEKDIALOG}" = "1" ]; then
- # else if kdialog exists, and we have a display, and we are not running
- # gnome, and either we are running kde or zenity doesn't exist..
- echo "Dialog on Display: ${DISPLAY}"
- ${KDIALOG} --title "DMDirc: ${1}" --msgbox "${2}"
- elif [ "" != "${ZENITY}" -a "" != "${DISPLAY}" ]; then
- # Else, if zenity exists and we have a display
- echo "Dialog on Display: ${DISPLAY}"
- ${ZENITY} --info --title "DMDirc: ${1}" --text "${2}"
- elif [ "" != "${DIALOG}" ]; then
- # Else, if dialog exists and we have a display
- ${DIALOG} --title "DMDirc: ${1}" --msgbox "${2}" 8 40
- fi;
- }
-
- questiondialog() {
- # Send question to console.
- echo ""
- echo "-----------------------------------------------------------------------"
- echo "DMDirc: ${1}"
- echo "-----------------------------------------------------------------------"
- echo "${2}"
- echo "-----------------------------------------------------------------------"
-
- # If we are on OSX
- if [ "${ISOSX}" = "1" -a "" != "${OSASCRIPT}" ]; then
- echo "Displaying dialog.."
- ${OSASCRIPT} -e 'tell application "System Events"' -e "activate" -e "display dialog \"Line 1\nLine 2\" with icon note" -e 'end tell'
- elif [ "" != "${KDIALOG}" -a "" != "${DISPLAY}" -a "" = "${ISGNOME}" -a "${USEKDIALOG}" = "1" ]; then
- # else if kdialog exists, and we have a display, and we are not running
- # gnome, and either we are running kde or zenity doesn't exist..
- echo "Dialog on Display: ${DISPLAY}"
- ${KDIALOG} --title "DMDirc: ${1}" --yesno "${2}"
- elif [ "" != "${ZENITY}" -a "" != "${DISPLAY}" ]; then
- # Else, if zenity exists and we have a display
- echo "Dialog on Display: ${DISPLAY}"
- ${ZENITY} --question --title "DMDirc: ${1}" --text "${2}"
- elif [ "" != "${DIALOG}" ]; then
- # Else, if dialog exists and we have a display
- ${DIALOG} --title "DMDirc: ${1}" --yesno "${2}" 8 40
- elif [ "${3}" != "" ]; then
- # Else, fail and return default.
- echo "Unable to ask question, assuming '${3}'."
- return ${3};
- else
- # Else, fail and return no.
- echo "Unable to ask question, assuming no."
- return 1;
- fi;
- }
-
- errordialog() {
- # Send error to console.
- echo ""
- echo "-----------------------------------------------------------------------"
- echo "[Error] DMDirc: ${1}"
- echo "-----------------------------------------------------------------------"
- echo "${2}"
- echo "-----------------------------------------------------------------------"
-
- # If we are on OSX
- if [ "${ISOSX}" = "1" -a "" != "${OSASCRIPT}" ]; then
- echo "Displaying dialog.."
- ${OSASCRIPT} -e 'tell application "System Events"' -e "activate" -e "display dialog \"${1}\n${2}\" buttons {\"Ok\"} with icon stop" -e 'end tell'
- elif [ "" != "${KDIALOG}" -a "" != "${DISPLAY}" -a "" = "${ISGNOME}" -a "${USEKDIALOG}" = "1" ]; then
- # else if kdialog exists, and we have a display, and we are not running
- # gnome, and either we are running kde or zenity doesn't exist..
- echo "Dialog on Display: ${DISPLAY}"
- ${KDIALOG} --title "DMDirc: ${1}" --error "${2}"
- elif [ "" != "${ZENITY}" -a "" != "${DISPLAY}" ]; then
- # Else, if zenity exists and we have a display
- echo "Dialog on Display: ${DISPLAY}"
- ${ZENITY} --error --title "DMDirc: ${1}" --text "${2}"
- elif [ "" != "${DIALOG}" ]; then
- # Else, if dialog exists and we have a display
- ${DIALOG} --title "[Error] DMDirc: ${1}" --msgbox "${2}" 8 40
- fi
- }
|