|
Lines 11-30
Link Here
|
| 11 |
fi |
11 |
fi |
| 12 |
|
12 |
|
| 13 |
if test "$1" = "--help"; then |
13 |
if test "$1" = "--help"; then |
| 14 |
echo "Usage: $0 <name> where name is a device or a mountpoint." |
14 |
echo "Usage: $0 <name> where name is a device or a mountpoint." |
| 15 |
exit 0 |
15 |
exit 0 |
| 16 |
fi |
16 |
fi |
| 17 |
|
17 |
|
| 18 |
if test -z "$1"; then |
18 |
if test -z "$1"; then |
| 19 |
for dev in /dev/cdrom /dev/dvd /dev/dvdram /dev/cdrecorder; do |
19 |
for dev in /dev/cdrom /dev/dvd /dev/dvdram /dev/cdrecorder; do |
| 20 |
if test -e $dev; then |
20 |
if test -e $dev; then |
| 21 |
lp=`readlink $dev` |
21 |
lp=`readlink $dev` |
| 22 |
if test -n "$lp"; then |
22 |
if test -n "$lp"; then |
| 23 |
device=/dev/$lp |
23 |
device=/dev/$lp |
| 24 |
else |
24 |
else |
| 25 |
device=$dev |
25 |
device=$dev |
| 26 |
fi |
26 |
fi |
| 27 |
break |
27 |
break |
| 28 |
fi |
28 |
fi |
| 29 |
done |
29 |
done |
| 30 |
else |
30 |
else |
|
Lines 33-64
Link Here
|
| 33 |
|
33 |
|
| 34 |
udi=`dcop kded mediamanager properties $device 2>/dev/null | head -n 1 ` |
34 |
udi=`dcop kded mediamanager properties $device 2>/dev/null | head -n 1 ` |
| 35 |
if test -n "$udi"; then |
35 |
if test -n "$udi"; then |
| 36 |
dcop kded mediamanager unmount "$udi" >/dev/null 2>&1 |
36 |
dcop kded mediamanager unmount "$udi" >/dev/null 2>&1 |
| 37 |
fi |
37 |
fi |
| 38 |
|
38 |
|
| 39 |
# Checking for stuff in the PATH is ugly with sh. |
39 |
# Checking for stuff in the PATH is ugly with sh. |
| 40 |
# I guess this is the reason for making this a kde app... |
40 |
# I guess this is the reason for making this a kde app... |
| 41 |
OS=`uname -s` |
41 |
OS=`uname -s` |
| 42 |
case "$OS" in |
42 |
case "$OS" in |
| 43 |
OpenBSD) |
43 |
OpenBSD) |
| 44 |
cdio -f $1 eject >/dev/null 2>&1 |
44 |
cdio -f $device eject #>/dev/null 2>&1 |
| 45 |
;; |
45 |
;; |
| 46 |
*BSD) |
46 |
*BSD) |
| 47 |
dev=`echo $1 | sed -E -e 's#/dev/##' -e 's/([0-9])./\1/'` |
47 |
dev=`echo $device | sed -E -e 's#/dev/##' -e 's/([0-9])./\1/'` |
| 48 |
cdcontrol -f $dev eject >/dev/null 2>&1 |
48 |
cdcontrol -f $dev eject #>/dev/null 2>&1 |
| 49 |
;; |
49 |
;; |
| 50 |
*) |
50 |
*) |
| 51 |
# Warning, it has to be either eject 2.0.x or >=2.1.5 |
51 |
# Warning, it has to be either eject 2.0.x or >=2.1.5 |
| 52 |
# Otherwise it doesn't work as expected (it requires a |
52 |
# Otherwise it doesn't work as expected (it requires a |
| 53 |
# fstab entry for no reason). |
53 |
# fstab entry for no reason). |
| 54 |
eject $1 >/dev/null 2>&1 |
54 |
eject -v $device #>/dev/null 2>&1 |
| 55 |
;; |
55 |
;; |
| 56 |
esac |
56 |
esac |
| 57 |
if test $? -eq 0; then |
57 |
if test $? -eq 0; then |
| 58 |
# dcop kdesktop default refreshIcons |
58 |
#dcop kdesktop default refreshIcons |
| 59 |
exit 0 |
59 |
exit 0 |
| 60 |
elif test $quiet -eq 0; then |
60 |
elif test $quiet -eq 0; then |
| 61 |
kdialog --title "KDE Eject" --error "Eject $1 failed!" |
61 |
kdialog --title "KDE Eject" --error "Eject $device failed!" |
| 62 |
fi |
62 |
fi |
| 63 |
|
|
|
| 64 |
exit 1 |
63 |
exit 1 |