tazpkg annotate tazpkg-box @ rev 589

tazpkg-box: add support for tazpkg-url: tazpkg://url.to.repo/version/pkg.tazpkg
author Christophe Lincoln <pankso@slitaz.org>
date Fri Apr 13 02:10:29 2012 +0200 (2012-04-13)
parents 7d8d81c885c3
children 90038f19958b
rev   line source
pankso@541 1 #!/bin/sh
pankso@541 2 #
paul@579 3 # Small GTK boxes to TazPKG for deep desktop integration. PcmanFM 0.5.x has a
paul@579 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@541 7 # Copyright (C) 2012 SliTaz GNU/Linux - GNU gpl v2
pankso@541 8 #
pankso@541 9 # Authors : Christophe Lincoln <pankso@slitaz.org>
pankso@541 10 #
pankso@541 11
pankso@589 12 title=$(gettext "TazPKG Action")
pankso@555 13 icon="/usr/share/pixmaps/tazpkg.png"
pankso@589 14 opts="--image=tazpkg --image-on-top --width=520 --center --on-top"
pankso@589 15
pankso@589 16 # Nice GTK output for install and extract.
pankso@589 17 output() {
pankso@589 18 yad --text-info $opts --text="<b>$title</b>" \
pankso@589 19 --height=260 --title="$title" --window-icon=$icon \
pankso@589 20 --tail --margins=4 --button="gtk-close:0"
pankso@589 21 }
pankso@555 22
pankso@541 23 # Main GUI box function with pure Yad spec
pankso@541 24 actions_main() {
pankso@555 25 text=$(gettext "Package name:")
pankso@589 26 yad --text="$text <b>${pkg%.tazpkg}</b>" $opts \
pankso@589 27 --title="$title" --height=100 \
pankso@589 28 --window-icon=$icon --image-on-top \
pankso@541 29 --button="Install:3" --button="Extract:2" \
pankso@541 30 --button="gtk-close:1"
pankso@541 31 }
pankso@541 32
pankso@541 33 # Actions user can do when clicking on a package.
pankso@541 34 actions() {
pankso@541 35 # Store box results
pankso@541 36 main=$(actions_main)
pankso@541 37 ret=$?
pankso@541 38 # Deal with --button values
pankso@541 39 case $ret in
pankso@541 40 1) exit 0 ;;
pankso@589 41 2) tazpkg extract $pkg | output ;;
pankso@589 42 3) tazpkg -i $pkg --forced | output ;;
pankso@541 43 esac
pankso@541 44 }
pankso@541 45
pankso@589 46 # TazPKG URL Handler.
pankso@589 47 dl_inst() {
pankso@589 48 pkg=$(basename $url)
pankso@589 49 gettext "Downloading: $pkg"; echo -e "\n"
pankso@589 50 cd /tmp && wget $url 2>&1
pankso@589 51 tazpkg -i $pkg --forced 2>&1
pankso@589 52 rm -f $pkg
pankso@589 53 }
pankso@589 54
pankso@541 55 #
pankso@541 56 # Script commands
pankso@541 57 #
pankso@541 58
pankso@541 59 case "$1" in
pankso@555 60 usage|help|-u|-h)
pankso@589 61 echo "Usage: $(basename $0) [actions|url] [pkg]" ;;
pankso@589 62 tazpkg://*)
pankso@589 63 # TazPKG URL's handler.
pankso@589 64 url="http://${1#tazpkg://}"
pankso@589 65 dl_inst | output ;;
pankso@541 66 actions)
pankso@555 67 pkg=$(basename $2)
pankso@555 68 cd $(dirname $2)
pankso@541 69 actions ;;
pankso@541 70 esac
pankso@541 71
pankso@541 72 exit 0
pankso@541 73