tazpkg annotate tazpkg-notify @ rev 851

Make pot; place new fr.po (thanks Lucas Levrel)
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sun Oct 25 22:19:19 2015 +0200 (2015-10-25)
parents 636b4e8dcf6a
children 21ac83abe572
rev   line source
pankso@451 1 #!/bin/sh
al@840 2 # TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
al@840 3 # tazpkg-notify - part of TazPkg
al@840 4 # Notification icon for TazPkg packages
al@840 5
al@840 6 # Recharging pkgs list can be done automatically at boot, so notifies users
al@840 7 # if some updates are available. Also notifies users if the packages list is too
pankso@451 8 # old and out-of-date or if no packages list found. This script should
paul@477 9 # be run by the WM autostart script or ~/.xsession and needs a systray to
paul@477 10 # sit in like in LXpanel or Tint2.
al@840 11
al@840 12 # Copyright (C) 2012-2015 SliTaz - GNU General Public License v3.
al@840 13 # Authors: See the AUTHORS files
al@840 14
pankso@451 15
al@710 16 . /lib/libtaz.sh
al@710 17 . /etc/slitaz/slitaz.conf
al@710 18
pankso@556 19 # I18n
al@633 20 export TEXTDOMAIN='tazpkg'
pankso@451 21
pankso@556 22 fifo=/tmp/$(basename $0).fifo
mojo@577 23 doc="file:///usr/share/doc/tazpkg/tazpkg.html"
al@633 24
al@840 25 installed=$(wc -l < "$PKGS_DB/installed.info")
al@707 26 text="$(_p \
al@707 27 '%s installed package' \
al@840 28 '%s installed packages' "$installed" \
al@707 29 "<b>$installed</b>")"
al@710 30
al@840 31 [ -f "$PKGS_DB/IDs" ] && mtime=$(find "$PKGS_DB/IDs" -mtime +10;)
al@840 32 up=0; [ -f "$PKGS_DB/packages.up" ] && up=$(wc -l < "$PKGS_DB/packages.up")
pankso@451 33
al@707 34
pankso@556 35 # Notification icon
al@707 36
pankso@556 37 listen() {
pankso@556 38 # Manage the I/O redirection from SHell
al@710 39 rm -f $fifo; mkfifo $fifo
al@710 40
pankso@556 41 # Attach a file descriptor
al@603 42 exec 3<> $fifo
al@710 43
pankso@556 44 # Notification icon
al@710 45 yad --notification --listen --image='TazPkg' \
al@710 46 --text="$(_ 'Checking packages lists - %s' "$text")" <&3
al@710 47
pankso@556 48 # Clean-up
pankso@556 49 rm -f $fifo
pankso@451 50 }
pankso@451 51
al@707 52
paul@662 53 # Notification menu (right click)
al@707 54
pankso@556 55 menu() {
pankso@556 56 cat << EOT
pankso@556 57 menu:\
al@840 58 $(_n 'My packages' )!tazpanel pkgs#list!TazPkg|\
al@840 59 $(_n 'Recharge lists' )!tazbox su tazpanel pkgs#recharge!tazpkg-up|\
al@840 60 $(_n 'Check upgrade' )!tazbox su tazpanel pkgs#up!tazpkg-up|\
al@710 61 $(_n 'TazPkg SHell' )!terminal -e tazpkg shell!utilities-terminal|\
al@840 62 $(_n 'TazPkg manual' )!tazweb --notoolbar $doc!slitaz-doc|\
al@710 63 $(_n 'Close notification')!quit!gtk-close
pankso@556 64 EOT
pankso@451 65 }
pankso@451 66
al@707 67
pankso@451 68 case $1 in
pankso@556 69 usage|help|*-h)
al@710 70 _n "Usage:"; echo " $(basename $0)"
al@707 71 ;;
pankso@451 72 *)
pankso@556 73 # Sleep before displaying the notification icon and
pankso@556 74 # sleep to let user read the tooltips.
pankso@556 75 sleep 4
pankso@556 76 listen &
pankso@556 77 sleep 2
pankso@556 78 menu > $fifo
pankso@556 79 sleep 6
al@710 80
pankso@556 81 # Missing packages list
al@840 82 if [ ! -f "$PKGS_DB/packages.info" ]; then
al@710 83 tooltip="$(_ 'No packages list found - %s' "$text")"
al@840 84 (echo "action:tazbox su tazpanel pkgs#recharge"
al@710 85 echo "tooltip:$tooltip"
al@710 86 echo "icon:tazpkg-up") > $fifo
al@707 87 exit 0
pankso@556 88 fi
al@710 89
pankso@556 90 # Too old packages list
al@840 91 if [ -n "$mtime" ]; then
al@707 92 tooltip="$(_ 'Your packages list is older than 10 days')"
al@840 93 (echo "action:tazbox su tazpanel pkgs#recharge"
al@840 94 echo "action:quit"
al@710 95 echo "tooltip:$tooltip"
al@710 96 echo "icon:tazpkg-up") > $fifo
al@707 97 exit 0
pankso@556 98 fi
al@710 99
paul@579 100 # Available upgrades
pankso@556 101 if [ "$up" -gt 0 ]; then
al@707 102 tooltip="$(_p \
al@707 103 'There is %s upgradeable package' \
al@840 104 'There are %s upgradeable packages' "$up" \
al@707 105 "<b>$up</b>")"
al@840 106 (echo "action:tazbox su tazpanel pkgs#up"
al@710 107 echo "tooltip:$tooltip"
al@710 108 echo "icon:tazpkg-up") > $fifo
al@707 109 exit 0
pankso@556 110 fi
al@710 111
pankso@556 112 # Nothing to do, close notification
al@710 113 tooltip="$(_ 'System is up to date - %s' "$text")"
pankso@556 114 echo "tooltip:$tooltip" > $fifo
pankso@471 115 sleep 10
al@707 116 echo "quit" > $fifo
al@707 117 ;;
pankso@451 118 esac
pankso@556 119 exit 0