diff options
author | Robby Workman <rworkman@slackware.com> | 2009-12-14 19:29:08 -0600 |
---|---|---|
committer | Robby Workman <rworkman@slackware.com> | 2009-12-14 19:29:08 -0600 |
commit | 2624f9f5c4eb101a73a2edc18aef3947e746fed3 (patch) | |
tree | e2f0104f1f2706b1b0a0ed8f8d95227de1d17c7f /blueman_open | |
parent | cd5c04d8c35af4f8459255eb250327e7a99010a3 (diff) | |
download | blueman-open-2624f9f5c4eb101a73a2edc18aef3947e746fed3.tar.xz |
Coding style; add DEBUG; more abstraction of dialogs
Hopefully this is not shell-agnostic (no bash required).
Only a non-null DEBUG value will spam syslog now.
Possibly worthless abstraction of dialog messages.
Diffstat (limited to 'blueman_open')
-rw-r--r-- | blueman_open | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/blueman_open b/blueman_open index 50d6b43..50f05c3 100644 --- a/blueman_open +++ b/blueman_open @@ -1,4 +1,6 @@ -#!/bin/bash +#!/bin/sh + +DEBUG=${DEBUG:-""} phone_addr=$1 own_name=$(basename $0) @@ -7,32 +9,30 @@ browser=${browser:-"xdg-open"} # Check for kdialog -if which kdialog &>/dev/null; then - messagetype="kdialog2" +if which kdialog 1>/dev/null 2>/dev/null; then + messagetype="kdialog" else messagetype="gtkdialog" fi -# gtkdialog stuff - -function gtkbox1() { +# Abstract some stuff for gtkdialog +gtkbox_passive() { export messagebox=' <vbox> <frame Blueman Open Device.> <text> - <label>"'`echo $1`'"</label> + <label>"'$(printf $1)'"</label> </text> </frame> </vbox> ' } - -function gtkbox2() { +gtkbox_interactive() { export messagebox=' <vbox> <frame Blueman Open Device.> <text> - <label>"'`echo $1`'"</label> + <label>"'$(printf $1)'"</label> </text> <hbox> <button ok></button> @@ -41,101 +41,102 @@ function gtkbox2() { </vbox> ' } -function gtkmessage() { +gtkmessage() { I=$IFS; IFS="" - for STATEMENT in $(gtkdialog --center --program=messagebox); do + for STATEMENT in $(gtkdialog --center --program=messagebox); do eval $STATEMENT done IFS=$I } +# End gtkdialog abstraction -#mount function - +# mount function mount_phone () { i=0 LIMIT=5 while [ $i -lt $LIMIT ] do - printf "$i " - logger -i -t $own_name "Perform $i try to mount phone $phone_addr to $dir using obexfs" - logger -i -t $own_name "Execute: obexfs -b $phone_addr -B 10 $dir" + [ ! -z $DEBUG ] && logger -i -t $own_name "Perform $i try to mount phone $phone_addr to $dir using obexfs" + [ ! -z $DEBUG ] && logger -i -t $own_name "Execute: obexfs -b $phone_addr -B 10 $dir" out=$(obexfs -b $phone_addr $dir 2>&1) - logger -i -t $own_name "$out" + [ ! -z $DEBUG ] && logger -i -t $own_name "$out" mounts=$(grep $dir /proc/mounts | wc -l) - logger -i -t $own_name "Found $mounts mounted $dir inside /proc/mounts" + [ ! -z $DEBUG ] && logger -i -t $own_name "Found $mounts mounted $dir inside /proc/mounts" if [ $mounts -ne 0 ] ;then progress=99 + MSG_TXT="Successfully mounted $phone_addr to $dir" if [ $messagetype == "kdialog" ]; then - kdialog --passivepopup "Successfully mounted $phone_addr to $dir" 2 - else - gtkbox2 $"Successfully mounted $phone_addr to $dir" + kdialog --passivepopup "$MSG_TXT" 2 + elif [ $messagetype == "gtkdialog" ]; then + gtkbox_interactive $"$MSG_TXT" gtkmessage fi - logger -i -t $own_name "Open $dir with $browser" + [ ! -z $DEBUG ] && logger -i -t $own_name "Open $dir with $browser" out=$($browser $dir 2>&1) - logger -i -t $own_name "$out" + [ ! -z $DEBUG ] && logger -i -t $own_name "$out" exit 0 else - logger -i -t $own_name "Failed to mount $phone_addr to $dir from the $i try" + logger -i -t $own_name "Failed to mount $phone_addr to $dir from try $i " fi sleep 1 ((i += 1)) done if [ $mounts -eq 0 ] ;then + MSG_TXT="Failed to mount $phone_addr to $dir.\nCheck /var/log/messages for errors." if [ $messagetype == "kdialog" ]; then - kdialog --passivepopup "Failed to mount $phone_addr to $dir.\nCheck /var/log/messages for errors." 4 - else - gtkbox2 $"Failed to mount $phone_addr to $dir. Check /var/log/messages for errors." + kdialog --passivepopup "$MSG_TXT" 4 + elif [ $messagetype == "gtkdialog" ]; then + gtkbox_interactive $"$MSG_TXT" gtkmessage fi killall gtkdialog fi } -#unmount function - +# unmount function umount_phone () { mounts=$(grep $dir /proc/mounts | wc -l) if [ $mounts -ne 0 ] ;then - logger -i -t $own_name "Perform umount of $dir if it's already mounted." + [ ! -z $DEBUG ] && logger -i -t $own_name "Perform umount of $dir if it's already mounted." out=$(fusermount -uz $dir 2>&1) - logger -i -t $own_name "$out" + [ ! -z $DEBUG ] && logger -i -t $own_name "$out" mounts=$(cat /proc/mounts |grep $dir|wc -l) if [ $mounts -eq 0 ] ;then - logger -i -t $own_name "Successfully unmounted $dir." + [ ! -z $DEBUG ] && logger -i -t $own_name "Successfully unmounted $dir." else logger -i -t $own_name "$dir is already mounted. Failed to umount $dir.$out. Please perform its umount manually." + MSG_TXT="Failed to umount $dir - check /var/log/messages for errors" if [ $messagetype == "kdialog" ]; then - kdialog --passivepopup "Failed to umount $dir - check /var/log/messages for errors" 4 - else - gtkbox2 $"Failed to umount $dir - check /var/log/messages for errors" + kdialog --passivepopup "$MSG_TXT" 4 + elif [ $messagetype == "gtkdialog" ]; then + gtkbox_interactive $"$MSG_TXT" gtkmessage fi exit fi else - logger -i -t $own_name "$dir is not mounted - no need to perform umount..." + [ ! -z $DEBUG ] && logger -i -t $own_name "$dir is not mounted - no need to perform umount..." fi } -#mkdir function - +# mkdir function create_dir () { progress=1 - logger -i -t $own_name "Create directory $dir to mount the phone by bluetooth..." + [ ! -z $DEBUG ] && logger -i -t $own_name "Create directory $dir to mount the phone by bluetooth..." out=$(mkdir -p $dir 2>&1) - logger -i -t $own_name "$out" + [ ! -z $DEBUG ] && logger -i -t $own_name "$out" } +MSG_TXT="Mount phone is in progress... Please wait..." if [ $messagetype == "kdialog" ]; then - kdialog --passivepopup "Mount phone is in progress... Please wait..." 4 -else - gtkbox1 $"Mount phone is in progress... Please wait..." + kdialog --passivepopup "$MSG_TXT" 4 +elif [ $messagetype == "gtkdialog" ]; then + gtkbox_passive $"$MSG_TXT" gtkmessage& fi |