tazpkg annotate tazpkg-box @ rev 684

Add zh_TW.po
author Paul Issott <paul@slitaz.org>
date Sat Jun 07 20:41:35 2014 +0100 (2014-06-07)
parents 5317ffe7bfbb
children 1ab24812ad7e
rev   line source
pankso@541 1 #!/bin/sh
pankso@541 2 #
al@633 3 # Small GTK boxes to TazPkg for deep desktop integration. PcmanFM 0.5.x has a
al@633 4 # patch to extract a TazPkg file but not Thunar and other FM. TazPkgBox tries
paul@579 5 # to follow freedesktop standards.
pankso@541 6 #
pankso@649 7 # Copyright (C) 2011-2014 SliTaz GNU/Linux - GNU GPL v2
pankso@541 8 #
al@633 9 # Authors: Christophe Lincoln <pankso@slitaz.org>
pankso@541 10 #
pankso@541 11
al@603 12 # Internationalization.
al@603 13 . /usr/bin/gettext.sh
al@603 14 TEXTDOMAIN='tazpkg'
al@603 15 export TEXTDOMAIN
al@603 16
pankso@649 17 title=$(gettext "TazPKG")
pankso@649 18 text=$(gettext "SliTaz Package Action")
pankso@555 19 icon="/usr/share/pixmaps/tazpkg.png"
al@633 20 opts="--image=tazpkg --image-on-top --center --on-top"
pankso@589 21
pankso@649 22 usage() {
pankso@649 23 cat << EOT
pankso@649 24 $(gettext 'Usage:') $(basename $0) [actions|URL] [$(gettext 'package')]
pankso@649 25 EOT
pankso@649 26 }
pankso@649 27
pankso@589 28 # Nice GTK output for install and extract.
pankso@589 29 output() {
pankso@649 30 yad --text-info $opts --title="$title" --text="<b>$text</b>" \
pankso@649 31 --height=260 --width=520 --window-icon=$icon \
pankso@589 32 --tail --margins=4 --button="gtk-close:0"
pankso@589 33 }
pankso@555 34
pankso@649 35 pkginfo() {
pankso@649 36 tmp=/tmp/$(basename $0)/$$
pankso@649 37 mkdir -p $tmp && cd $tmp
pankso@649 38 { cpio --quiet -i receipt > /dev/null 2>&1; } < ${dir}/$pkg
pankso@649 39 . $tmp/receipt
pankso@649 40 #rm -rf /tmp/$(basename $0)
pankso@649 41 size=$(du -sh ${dir}/$pkg | awk '{print $1}')
pankso@649 42 echo -e "Package\n$PACKAGE
pankso@649 43 Version\n$VERSION
pankso@649 44 Short desc\n$SHORT_DESC
pankso@649 45 Unpacked size\n$UNPACKED_SIZE
pankso@649 46 Depends\n$DEPENDS"
pankso@649 47 }
pankso@649 48
pankso@541 49 # Main GUI box function with pure Yad spec
pankso@541 50 actions_main() {
al@603 51 pkgname=${pkg%.tazpkg}
pankso@649 52 pkginfo | yad $opts --title="$title" \
pankso@649 53 --list --no-headers --no-click \
pankso@649 54 --height=260 --width=520 \
pankso@649 55 --text="<b>$text</b>" \
al@633 56 --window-icon=$icon \
pankso@649 57 --column "Name" --column "" \
pankso@649 58 --button="$(gettext 'Install'):3" \
pankso@649 59 --button="$(gettext 'Extract'):2" \
al@633 60 --button="gtk-cancel:1"
pankso@541 61 }
pankso@541 62
pankso@541 63 # Actions user can do when clicking on a package.
pankso@541 64 actions() {
pankso@541 65 # Store box results
pankso@541 66 main=$(actions_main)
pankso@541 67 ret=$?
pankso@541 68 # Deal with --button values
pankso@541 69 case $ret in
pankso@541 70 1) exit 0 ;;
al@603 71 2) tazpkg extract $pkg . --output="raw" | output ;;
al@603 72 3) tazpkg -i $pkg . --forced --output="raw" | output ;;
pankso@541 73 esac
pankso@541 74 }
pankso@541 75
al@633 76 # TazPkg URL Handler.
pankso@589 77 dl_inst() {
pankso@589 78 pkg=$(basename $url)
al@603 79 eval_gettext "Downloading: \$pkg"; echo -e "\n"
pankso@589 80 cd /tmp && wget $url 2>&1
pankso@595 81 tazpkg -i $pkg --forced --output="raw" 2>&1
pankso@589 82 rm -f $pkg
pankso@589 83 }
pankso@589 84
pankso@541 85 #
pankso@541 86 # Script commands
pankso@541 87 #
pankso@541 88
pankso@541 89 case "$1" in
pankso@555 90 usage|help|-u|-h)
pankso@649 91 usage ;;
pankso@589 92 tazpkg://*)
al@633 93 # TazPkg URL's handler.
pankso@589 94 url="http://${1#tazpkg://}"
pankso@589 95 dl_inst | output ;;
pankso@541 96 actions)
pankso@555 97 pkg=$(basename $2)
pankso@649 98 dir=$(dirname $2)
pankso@649 99 cd $dir
pankso@541 100 actions ;;
pankso@541 101 esac
pankso@541 102
pankso@541 103 exit 0