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 |