slitaz-tools annotate tinyutils/mountbox @ rev 340
tazx: Moved doc to Handbook
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Mon May 04 23:12:18 2009 +0200 (2009-05-04) |
parents | 426e821a7516 |
children | f03d03012bdd |
rev | line source |
---|---|
pankso@183 | 1 #!/bin/sh |
pankso@6 | 2 # |
pankso@183 | 3 # Gtkdialog box for the mount/umount commands. Part of SliTaz tools. |
pankso@183 | 4 # libmountbox: /usr/lib/slitaz/libmountbox |
pankso@6 | 5 # |
pankso@183 | 6 # (C) 2008 - SliTaz GNU/Linux project. |
pankso@183 | 7 # |
MikeDSmith25@252 | 8 VERSION=20080719 |
pankso@6 | 9 |
pankso@183 | 10 # Mountbox is only for root. |
pankso@183 | 11 if test $(id -u) != 0 ; then |
pankso@183 | 12 exec subox mountbox |
pankso@183 | 13 exit 0 |
pankso@183 | 14 fi |
pankso@6 | 15 |
pankso@183 | 16 # Commom mount point in /mnt |
pankso@183 | 17 mkdir -p /mnt/harddisk |
pankso@32 | 18 |
pankso@183 | 19 # Just basic help. |
pankso@183 | 20 export HELP=' |
pankso@183 | 21 <window title="Mountbox - Help" icon-name="help"> |
pankso@183 | 22 <vbox> |
pankso@183 | 23 <text use-markup="true" width-chars="56"> |
pankso@183 | 24 <label>" |
pankso@183 | 25 <b>SliTaz Mountbox - Help</b>" |
pankso@183 | 26 </label> |
pankso@183 | 27 </text> |
pankso@183 | 28 |
pankso@183 | 29 <frame English> |
pankso@183 | 30 <text wrap="true" use-markup="true"> |
pankso@183 | 31 <label> |
paul@251 | 32 "Mountbox lets you mount devices on mount points. A device |
MikeDSmith25@252 | 33 can be a cdrom, flash key, USB disk or local HD partition. |
pankso@183 | 34 Mount points are generated from /media and /mnt. |
pankso@183 | 35 " |
pankso@183 | 36 </label> |
pankso@183 | 37 </text> |
pankso@183 | 38 </frame> |
pankso@183 | 39 <frame Français> |
pankso@183 | 40 <text wrap="true" use-markup="true"> |
pankso@183 | 41 <label> |
pankso@183 | 42 "Mountbox permet de monter des périphériques (devices) |
pankso@183 | 43 sur des points de montage. Un device peut être un cdrom, |
pankso@183 | 44 une clé USB ou un disque dur local. La liste des points |
pankso@183 | 45 de montage est généré depuis /media te /mnt. |
pankso@183 | 46 " |
pankso@183 | 47 </label> |
pankso@183 | 48 </text> |
pankso@183 | 49 </frame> |
pankso@183 | 50 |
pankso@183 | 51 <hbox> |
pankso@183 | 52 <button ok> |
pankso@183 | 53 <action type="closewindow">HELP</action> |
pankso@183 | 54 </button> |
pankso@183 | 55 </hbox> |
pankso@183 | 56 </vbox> |
pankso@183 | 57 </window>' |
pankso@79 | 58 |
pankso@6 | 59 # Mount and umount buttons with fiel for devive and mount point. |
pankso@183 | 60 MAIN_DIALOG=' |
pankso@38 | 61 <window title="Mountbox" icon-name="media-flash"> |
pankso@183 | 62 <vbox> |
pankso@183 | 63 |
pankso@183 | 64 <tree> |
pankso@183 | 65 <width>520</width><height>120</height> |
pankso@183 | 66 <variable>MOUNTED</variable> |
pankso@183 | 67 <label>Mounted fs|Size|Used|Available|Use%|Mounted on</label>' |
pankso@183 | 68 |
pankso@183 | 69 # /dev/root |
pankso@183 | 70 RES=`df -h / | grep rootfs` |
pankso@183 | 71 dev="/dev/root" |
pankso@183 | 72 SIZE=`echo $RES | cut -d " " -f 2` |
pankso@183 | 73 USED=`echo $RES | cut -d " " -f 3` |
pankso@183 | 74 AVAILABLE=`echo $RES | cut -d " " -f 4` |
pankso@183 | 75 PCT=`echo $RES | cut -d " " -f 5` |
pankso@183 | 76 MOUNTED_ON=`echo $RES | cut -d " " -f 6` |
pankso@184 | 77 if [ $SIZE != 0 ]; then |
pankso@184 | 78 ROOT_ITEM=" |
pankso@184 | 79 <item icon=\"drive-harddisk\">$dev | $SIZE | $USED | $AVAILABLE | $PCT | $MOUNTED_ON</item>" |
pankso@184 | 80 fi |
pankso@183 | 81 MAIN_DIALOG=${MAIN_DIALOG}${ROOT_ITEM} |
pankso@183 | 82 |
pankso@183 | 83 # Now we have rootfs and icons, list all mounted fs. |
pankso@183 | 84 DEVICE='<input>/usr/lib/slitaz/libmountbox list-mounted</input> |
pankso@183 | 85 <action>/usr/lib/slitaz/libmountbox mounted-fs-infos</action> |
pankso@183 | 86 <action>refresh:MOUNTED</action> |
pankso@183 | 87 <action>refresh:DEVICE</action> |
pankso@183 | 88 </tree> |
pankso@183 | 89 |
pankso@183 | 90 <tree> |
pankso@183 | 91 <width>500</width><height>120</height> |
pankso@183 | 92 <variable>DEVICE</variable> |
pascal@263 | 93 <label>Umounted dev|Boot|Start|End|Blocks|Id|System|Type|Label|UUID</label> |
pankso@183 | 94 <input>/usr/lib/slitaz/libmountbox list-umounted</input> |
pankso@183 | 95 <action>/usr/lib/slitaz/libmountbox umounted-fs-infos</action> |
pankso@183 | 96 <action>refresh:MOUNTED</action> |
pankso@183 | 97 <action>refresh:DEVICE</action> |
pankso@183 | 98 </tree> |
pankso@184 | 99 <hbox> |
pankso@183 | 100 <text use-markup="true"> |
pankso@183 | 101 <label>"<b>Mount selected device on:</b>"</label> |
pankso@183 | 102 </text> |
pankso@184 | 103 <combobox> |
pankso@183 | 104 <variable>MOUNT_POINT</variable>' |
pankso@183 | 105 |
pankso@183 | 106 # Get the mount points list. |
pankso@183 | 107 MAIN_DIALOG=${MAIN_DIALOG}${DEVICE} |
pankso@183 | 108 for dir in $(ls -d /media/* /mnt/*) |
pascal@182 | 109 do |
pankso@183 | 110 MOUNT_POINTS_ITEMS="<item>$dir</item>" |
pankso@183 | 111 MAIN_DIALOG=${MAIN_DIALOG}${MOUNT_POINTS_ITEMS} |
pascal@182 | 112 done |
pankso@6 | 113 |
MikeDSmith25@252 | 114 # Actions buttons (mount, umount, eject, etc). |
pankso@183 | 115 ACTIONS=' |
pankso@184 | 116 </combobox> |
pankso@183 | 117 <button> |
pankso@183 | 118 <label>Browse</label> |
pankso@183 | 119 <input file icon="folder-open"></input> |
pankso@183 | 120 <action>pcmanfm $MOUNT_POINT &</action> |
pankso@183 | 121 </button> |
pankso@183 | 122 </hbox> |
pankso@183 | 123 |
pankso@183 | 124 <hbox> |
pankso@183 | 125 <button> |
pankso@183 | 126 <label>Mount</label> |
pankso@183 | 127 <input file icon="edit-redo"></input> |
pankso@183 | 128 <action>mkdir -p $MOUNT_POINT</action> |
pankso@183 | 129 <action>mount $DEVICE $MOUNT_POINT</action> |
pankso@183 | 130 <action>refresh:MOUNTED</action> |
pankso@183 | 131 <action>refresh:DEVICE</action> |
pankso@183 | 132 </button> |
pankso@183 | 133 <button> |
pankso@183 | 134 <label>Umount</label> |
pankso@183 | 135 <input file icon="undo"></input> |
pankso@183 | 136 <action>umount $MOUNT_POINT; sleep 1</action> |
pankso@183 | 137 <action>refresh:MOUNTED</action> |
pankso@183 | 138 <action>refresh:DEVICE</action> |
pankso@183 | 139 </button> |
pankso@183 | 140 <button> |
pankso@183 | 141 <label>Device list</label> |
pankso@183 | 142 <input file icon="reload"></input> |
pankso@183 | 143 <action>refresh:DEVICE</action> |
pankso@183 | 144 </button> |
pankso@183 | 145 <button> |
pankso@183 | 146 <label>Eject</label> |
pankso@183 | 147 <input file icon="media-cdrom"></input> |
pankso@183 | 148 <action>eject</action> |
pankso@183 | 149 </button> |
pankso@183 | 150 <button help> |
pankso@183 | 151 <input file icon="help"></input> |
pankso@183 | 152 <action type="launch">HELP</action> |
pankso@183 | 153 </button> |
pankso@183 | 154 <button> |
pankso@183 | 155 <label>Quit</label> |
pankso@183 | 156 <input file icon="exit"></input> |
pankso@183 | 157 <action type="exit">Exit</action> |
pankso@183 | 158 </button> |
pankso@183 | 159 |
pankso@183 | 160 </hbox> |
pankso@183 | 161 |
pankso@183 | 162 </vbox> |
pankso@183 | 163 </window>' |
pankso@183 | 164 |
pankso@183 | 165 export MAIN_DIALOG=${MAIN_DIALOG}${ACTIONS} |
pankso@183 | 166 gtkdialog --center --program=MAIN_DIALOG >/dev/null |
pankso@6 | 167 |
pankso@6 | 168 exit 0 |