From c6cac647c6fce88e0a7edf5530d9b36cca1ef39e Mon Sep 17 00:00:00 2001 From: Robby Workman Date: Sun, 28 Feb 2010 22:36:27 -0600 Subject: Use notify-send as fallback instead of gtkdialog We'll be getting all of the requirements for this in -current real soon now, so unless I snuffed something up, this should be really close to what we need. :-) --- blueman_open | 113 ++++++----------------------------------------------------- 1 file changed, 10 insertions(+), 103 deletions(-) diff --git a/blueman_open b/blueman_open index af5f3f3..f46d97a 100755 --- a/blueman_open +++ b/blueman_open @@ -3,9 +3,6 @@ # by Zarren Spry & Robby Workman - -# varables - DEBUG=${DEBUG:-"1"} if [ ! -z $DEBUG ];then dbg_msg="Check /var/log/messages for errors." @@ -19,98 +16,21 @@ own_name=$(basename $0) basedir=${basedir:-$HOME/.gvfs} dir=${basedir} browser=${browser:-"xdg-open"} -progress_bar_counter=0 max_tries=5 # Check for kdialog - -if which kdialog3 1>/dev/null 2>/dev/null; then +if which kdialog 1>/dev/null 2>/dev/null; then messagetype="kdialog" else - messagetype="gtkdialog" - export p_file="progress.tmp" - export m_file="message.tmp" - touch $p_file - touch $m_file - echo "0" > $p_file + messagetype="libnotify" fi -# Fix broken pipe when canceled - -trap killscript INT - -killscript() -{ - rm ./*.tmp - exit 0 -} - -# Gtkdialog abstraction - -gtkbox_interactive() { - export messagebox=' - - - - - - - - progress p_file - done - - - - - ' -} - -gtkmessage() { - I=$IFS; IFS="" - for STATEMENT in $(gtkdialog --center --program=messagebox); do - eval $STATEMENT - done - IFS=$I -} - -# Gtkdialog progress control loop - -if [ "$messagetype" = "gtkdialog" ]; then - progress(){ - while : - do - percentage=$(cat $p_file) - text=$(cat $m_file) - echo $percentage - echo $text - if [ $percentage = 100 ]; then - killscript - break - fi - sleep 0.3 - done - } - - message(){ - echo $MSG_TXT > $m_file - } - export -f progress killscript -fi - - -# End gtkdialog abstraction - # Mount function - mount_device () { loop=0 while [ $loop -lt $max_tries ] do - if [ "$messagetype" = "gtkdialog" ]; then - let progress_bar_counter=$progress_bar_counter+17 - echo $progress_bar_counter > $p_file - fi [ ! -z $DEBUG ] && logger -i -t $own_name "Perform $loop try to mount device $device_name to $dir using gvfs." [ ! -z $DEBUG ] && logger -i -t $own_name "Execute: gvfs-mount obex://["$device_addr"]" out=$(gvfs-mount obex://["$device_addr"] 2>&1) @@ -122,11 +42,8 @@ mount_device () MSG_TXT="Successfully mounted $device_name to $dir" if [ $messagetype == "kdialog" ]; then kdialog --passivepopup "$MSG_TXT" 2 - elif [ $messagetype == "gtkdialog" ]; then - message $"$MSG_TXT" - echo "99" > $p_file - sleep 2 - echo "100" > $p_file + elif [ $messagetype == "libnotify" ]; then + notify-send --expire-time=20000 --icon=blueman "$MSG_TXT" fi [ ! -z $DEBUG ] && logger -i -t $own_name "Open $dir/$device_name with $browser" out=$($browser $dir/$device_name 2>&1) @@ -138,13 +55,11 @@ mount_device () MSG_TXT="Attempt $loop to mount $device_name to $dir failed. Retrying, please wait ..." else MSG_TXT="Failed to mount $device_name to $dir. $dbg_msg" - sleep 3 - echo "100" > $p_file fi if [ $messagetype == "kdialog" ]; then kdialog --passivepopup "$MSG_TXT" 3 - elif [ $messagetype == "gtkdialog" ]; then - message $"$MSG_TXT" + elif [ $messagetype == "libnotify" ]; then + notify-send --expire-time=20000 --icon=blueman "$MSG_TXT" fi fi sleep 2 @@ -153,7 +68,6 @@ mount_device () } # Unmount function - umount_device () { mounts=$(ls $dir | grep $device_name) @@ -166,12 +80,8 @@ umount_device () MSG_TXT="Failed to umount $dir - $dbg_msg" if [ $messagetype == "kdialog" ]; then kdialog --passivepopup "$MSG_TXT" 3 - elif [ $messagetype == "gtkdialog" ]; then - message $"$MSG_TXT" - echo "99" > $p_file - rm ./*.tmp - echo "100" > $p_file - exit 1 + elif [ $messagetype == "libnotify" ]; then + notify-send --expire-time=20000 --icon=blueman "$MSG_TXT" fi else [ ! -z $DEBUG ] && logger -i -t $own_name "Successfully unmounted $device_name." @@ -182,14 +92,11 @@ umount_device () } # Main - MSG_TXT="Mount device is in progress... Please wait..." if [ $messagetype == "kdialog" ]; then kdialog --passivepopup "$MSG_TXT" 4 -elif [ $messagetype == "gtkdialog" ]; then - message $"$MSG_TXT" - gtkbox_interactive - gtkmessage& +elif [ $messagetype == "libnotify" ]; then + notify-send --expire-time=20000 --icon=blueman "$MSG_TXT" fi umount_device -- cgit v1.2.3