tazpkg annotate tazpkg-notify @ rev 579

Update docs
author Paul Issott <paul@slitaz.org>
date Sun Apr 01 16:48:06 2012 +0100 (2012-04-01)
parents 11d71c5ac20a
children de952705379e
rev   line source
pankso@451 1 #!/bin/sh
pankso@451 2 #
pankso@451 3 # TazPKG Notify - Notification icon for Tazpkg packages. Recharging pkgs
paul@477 4 # list can be done automatically at boot, so notifies users if some
paul@477 5 # updates are available. Also notifies users if the packages list is too
pankso@451 6 # old and out-of-date or if no packages list found. This script should
paul@477 7 # be run by the WM autostart script or ~/.xsession and needs a systray to
paul@477 8 # sit in like in LXpanel or Tint2.
pankso@451 9 #
pankso@542 10 # Copyright (C) 2012 SliTaz GNU/Linux - GNU gpl v2
pankso@451 11 #
pankso@451 12 # Authors : Christophe Lincoln <pankso@slitaz.org>
pankso@451 13 #
pankso@451 14
pankso@556 15 # I18n
pankso@451 16 . /usr/bin/gettext.sh
pankso@451 17 TEXTDOMAIN='tazpkg-notify'
pankso@451 18 export TEXTDOMAIN
pankso@451 19
pankso@556 20 fifo=/tmp/$(basename $0).fifo
pankso@556 21 panel="http://tazpanel:82/pkgs.cgi"
pankso@556 22 db="/var/lib/tazpkg"
mojo@577 23 doc="file:///usr/share/doc/tazpkg/tazpkg.html"
pankso@556 24 installed=$(ls $db/installed | wc -l)
pankso@556 25 text="$(gettext "Installed packages") <b>$installed</b>"
pankso@560 26 icon="/usr/share/pixmaps/tazpkg.png"
pankso@556 27 [ -f "$db/packages.list" ] && mtime=$(find $db/packages.list -mtime +10;)
pankso@556 28 [ -f "$db/packages.up" ] && up=$(cat $db/packages.up | wc -l)
pankso@451 29
pankso@556 30 # Notification icon
pankso@556 31 listen() {
pankso@556 32 # Manage the I/O redirection from SHell
pankso@556 33 rm -f $fifo && mkfifo $fifo
pankso@556 34 # Attach a file descriptor
pankso@556 35 exec 3<> $fifo
pankso@556 36 # Notification icon
pankso@560 37 yad --notification --listen --image=$icon \
pankso@565 38 --text="$(gettext "Checking packages lists") - $text" <&3
pankso@556 39 # Clean-up
pankso@556 40 rm -f $fifo
pankso@451 41 }
pankso@451 42
pankso@556 43 # Notication menu (right click)
pankso@556 44 menu() {
pankso@556 45 cat << EOT
pankso@556 46 menu:\
pankso@566 47 $(gettext "My packages")!tazweb $panel?list!tazpkg|\
pankso@556 48 $(gettext "Recharge lists")!tazweb $panel?recharge!tazpkg-up|\
pankso@556 49 $(gettext "Check upgrade")!tazweb $panel?up!tazpkg-up|\
pankso@556 50 $(gettext "TazPKG SHell")!terminal -e tazpkg shell!xterm|\
pankso@556 51 $(gettext "TazPKG manual")!tazweb $doc!text-html|\
pankso@556 52 $(gettext "Close notification")!quit!gtk-close
pankso@556 53 EOT
pankso@451 54 }
pankso@451 55
pankso@451 56 case $1 in
pankso@556 57 usage|help|*-h)
pankso@556 58 gettext "Usage:"; echo " $(basename $0)" ;;
pankso@451 59 *)
pankso@556 60 # Sleep before displaying the notification icon and
pankso@556 61 # sleep to let user read the tooltips.
pankso@556 62 sleep 4
pankso@556 63 listen &
pankso@556 64 sleep 2
pankso@556 65 menu > $fifo
pankso@556 66 sleep 6
pankso@556 67 # Missing packages list
pankso@556 68 if [ ! -f $db/packages.list ]; then
pankso@556 69 tooltip=$(eval_gettext \
pankso@556 70 "No packages list found - \$text")
pankso@556 71 echo "action:tazweb $panel?recharge" > $fifo
pankso@556 72 echo "tooltip:$tooltip" > $fifo
pankso@556 73 echo "icon:tazpkg-up" > $fifo && exit 0
pankso@556 74 fi
pankso@556 75 # Too old packages list
pankso@556 76 if [ "$mtime" ]; then
pankso@556 77 tooltip=$(gettext "Your packages list is older than 10 days")
pankso@556 78 echo "action:tazweb $panel?recharge" > $fifo
pankso@556 79 echo "tooltip:$tooltip" > $fifo
pankso@556 80 echo "icon:tazpkg-up" > $fifo && exit 0
pankso@556 81 fi
paul@579 82 # Available upgrades
pankso@556 83 if [ "$up" -gt 0 ]; then
pankso@556 84 tooltip=$(eval_gettext \
pankso@556 85 "There are <b>\$up</b> upgradeable packages")
pankso@556 86 echo "action:tazweb $panel?up" > $fifo
pankso@556 87 echo "tooltip:$tooltip" > $fifo
pankso@556 88 echo "icon:tazpkg-up" > $fifo && exit 0
pankso@556 89 fi
pankso@556 90 # Nothing to do, close notification
pankso@556 91 tooltip=$(eval_gettext "System is up to date - \$text")
pankso@556 92 echo "tooltip:$tooltip" > $fifo
pankso@471 93 sleep 10
pankso@556 94 echo "quit" > $fifo ;;
pankso@451 95 esac
pankso@556 96 exit 0