tazpkg annotate tazpkg-notify @ rev 707

Finish translation converting; now strongly need to re-check translations using original files from translators.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Sat Dec 13 16:31:09 2014 +0200 (2014-12-13)
parents 0daa5fc6754f
children 58f001f8e2bc
rev   line source
pankso@451 1 #!/bin/sh
pankso@451 2 #
al@633 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 #
al@707 10 # Copyright (C) 2012-2014 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
al@707 16 . /lib/libtaz.sh
al@633 17 export TEXTDOMAIN='tazpkg'
pankso@451 18
pankso@556 19 fifo=/tmp/$(basename $0).fifo
pankso@556 20 panel="http://tazpanel:82/pkgs.cgi"
pankso@556 21 db="/var/lib/tazpkg"
mojo@577 22 doc="file:///usr/share/doc/tazpkg/tazpkg.html"
al@633 23
pankso@556 24 installed=$(ls $db/installed | wc -l)
al@707 25 text="$(_p \
al@707 26 '%s installed package' \
al@707 27 '%s installed packages' $installed \
al@707 28 "<b>$installed</b>")"
pankso@560 29 icon="/usr/share/pixmaps/tazpkg.png"
pankso@556 30 [ -f "$db/packages.list" ] && mtime=$(find $db/packages.list -mtime +10;)
pankso@556 31 [ -f "$db/packages.up" ] && up=$(cat $db/packages.up | wc -l)
pankso@451 32
al@707 33
pankso@556 34 # Notification icon
al@707 35
pankso@556 36 listen() {
pankso@556 37 # Manage the I/O redirection from SHell
al@603 38 rm -f $fifo && mkfifo $fifo
pankso@556 39 # Attach a file descriptor
al@603 40 exec 3<> $fifo
pankso@556 41 # Notification icon
pankso@560 42 yad --notification --listen --image=$icon \
al@707 43 --text="$(_ 'Checking packages lists - %s' $text)" <&3
pankso@556 44 # Clean-up
pankso@556 45 rm -f $fifo
pankso@451 46 }
pankso@451 47
al@707 48
paul@662 49 # Notification menu (right click)
al@707 50
pankso@556 51 menu() {
pankso@556 52 cat << EOT
pankso@556 53 menu:\
al@707 54 $(_ 'My packages' )!tazweb $panel?list!tazpkg|\
al@707 55 $(_ 'Recharge lists' )!tazweb $panel?recharge!tazpkg-up|\
al@707 56 $(_ 'Check upgrade' )!tazweb $panel?up!tazpkg-up|\
al@707 57 $(_ 'TazPkg SHell' )!terminal -e tazpkg shell!xterm|\
al@707 58 $(_ 'TazPkg manual' )!tazweb $doc!text-html|\
al@707 59 $(_ 'Close notification')!quit!gtk-close
pankso@556 60 EOT
pankso@451 61 }
pankso@451 62
al@707 63
pankso@451 64 case $1 in
pankso@556 65 usage|help|*-h)
al@707 66 _ "Usage:"; echo " $(basename $0)"
al@707 67 ;;
pankso@451 68 *)
pankso@556 69 # Sleep before displaying the notification icon and
pankso@556 70 # sleep to let user read the tooltips.
pankso@556 71 sleep 4
pankso@556 72 listen &
pankso@556 73 sleep 2
pankso@556 74 menu > $fifo
pankso@556 75 sleep 6
pankso@556 76 # Missing packages list
pankso@556 77 if [ ! -f $db/packages.list ]; then
al@707 78 tooltip="$(_ 'No packages list found - %s' $text)"
pankso@556 79 echo "action:tazweb $panel?recharge" > $fifo
pankso@556 80 echo "tooltip:$tooltip" > $fifo
al@707 81 echo "icon:tazpkg-up" > $fifo
al@707 82 exit 0
pankso@556 83 fi
pankso@556 84 # Too old packages list
pankso@556 85 if [ "$mtime" ]; then
al@707 86 tooltip="$(_ 'Your packages list is older than 10 days')"
pankso@556 87 echo "action:tazweb $panel?recharge" > $fifo
pankso@556 88 echo "tooltip:$tooltip" > $fifo
al@707 89 echo "icon:tazpkg-up" > $fifo
al@707 90 exit 0
pankso@556 91 fi
paul@579 92 # Available upgrades
pankso@556 93 if [ "$up" -gt 0 ]; then
al@707 94 tooltip="$(_p \
al@707 95 'There is %s upgradeable package' \
al@707 96 'There are %s upgradeable packages' $up \
al@707 97 "<b>$up</b>")"
pankso@556 98 echo "action:tazweb $panel?up" > $fifo
pankso@556 99 echo "tooltip:$tooltip" > $fifo
al@707 100 echo "icon:tazpkg-up" > $fifo
al@707 101 exit 0
pankso@556 102 fi
pankso@556 103 # Nothing to do, close notification
al@707 104 tooltip="$(_ 'System is up to date - %s' $text)"
pankso@556 105 echo "tooltip:$tooltip" > $fifo
pankso@471 106 sleep 10
al@707 107 echo "quit" > $fifo
al@707 108 ;;
pankso@451 109 esac
pankso@556 110 exit 0