tazpkg annotate tazpkg-box @ rev 690
tazpanel-pkgs.desktop: system-category; deal with subox saved password
author | Xander Ziiryanoff <psychomaniak@xakep.ru> |
---|---|
date | Thu Oct 16 00:19:29 2014 +0000 (2014-10-16) |
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 |