Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/12/2011, à 21:48

Riicooo

[Script][Indicateur] Indicateur personnalisé...

Bonjour,
voilà une petite application "indicateur" qui permet d'afficher ce qu'on veux dans la zone "applet de notification générale", je pense que ça marche aussi sous unity ou gnome shell... il prend la première option qui lui est passée et l’exécute. Il affichera alors chaque ligne que la commande créera.

L’intérêt de cet indicateur est que si vous maitrisez un minimum la ligne de commande, ça peut etre pratique et facile d'afficher des infos précises...

Par exemple :

  • Pour afficher dans la zone la charge de la machine toutes les 3 secondes, lancer l'indicateur avec cette ligne :
    ./bash-indicator.py  "while [ 1 ] ; do cut -d\  -f1,2,3 /proc/loadavg ; sleep 3; done"

  • Pour afficher le temps restant sur la batterie :   
    ./bash-indicator.py  "while [ 1 ] ; do acpi -b | cut -d, -f3| cut -d\  -f2 ; sleep 60; done"

  • Surveiller la place dispo sur la partition /dev/sda6 :
    ./bash-indicator.py  "while [ 1 ] ; do df -hP /dev/sda6 | tail -n 1| awk  '{ print \$4 }' ; sleep 30; done"

  • Afficher la température du processeur (à adapter) :
    ./bash-indicator.py  "while [ 1 ] ; do sensors |grep temp1 | awk  '{ print  \$2 }'; sleep 5; done"

  • Afficher la température de Toulouse (sudo apt-get install weather-util), rafraichie toutes les 5 minutes :
    ./bash-indicator.py  "while [ 1 ] ; do weather  -i LFBO -m | grep Temperature:|cut -d: -f2; sleep 300; done"

Le programme python peut être modifié pour exécuter à intervalle régulier la commande mais de cette manière, on peut exécuter ce que l'on veut, par exemple un tail -f sur un fichier et l'indicateur ne se mettra à jour que lorsque ce sera nécessaire et pas toutes les n secondes...

programme python à coller dans un fichier "bash-indicator.py" et rendre exécutable par "chmod +x bash-indicator.py" :

#!/usr/bin/env python
import gtk
import appindicator
import threading
import subprocess
import sys

class AppIndicator:
    def __init__(self):
        self.ind = appindicator.Indicator("bash-indicator",
            "bash", appindicator.CATEGORY_APPLICATION_STATUS)
        self.ind.set_status (appindicator.STATUS_ACTIVE)
        self.menu = gtk.Menu()
        item = gtk.MenuItem("Quitter")
        item.connect("activate", self.quit, None)
        self.menu.append(item)
        self.menu.show_all()
        self.ind.set_menu(self.menu)
        self.ind.set_label("Toto")
        self.th = threading.Thread(target=self.tail)
        self.th.start()
    
    def quit(self, *args):
        print "quit"
        self.pp.kill()
        self.th._Thread__stop()
        gtk.main_quit()
        sys.exit()

    def tail(self):
       self.pp = subprocess.Popen(["/bin/bash", "-c", sys.argv[1]], stdout=subprocess.PIPE)
       line = self.pp.stdout.readline()[0:-1][0:30]
       self.ind.set_label(line)
       while line:
         line = self.pp.stdout.readline()[0:-1][0:30]
         self.ind.set_label(line)

gtk.gdk.threads_init()
AppIndicator()
gtk.main()

Hors ligne

#2 Le 19/12/2011, à 08:56

pingouinux

Re : [Script][Indicateur] Indicateur personnalisé...

Bonjour Riicooo,
Je viens de tester bash-indicator, avec cette commande :

./bash-indicator.py  "n=0;while [ 1 ] ; do ((n++));echo $n; sleep 5; done"

Il y a une icône qui apparaît dans la zone de notification, et un bouton "Quitter" quand je clique dessus, mais je ne vois rien d'autre.
Voici ma configuration :

Ubuntu 11.04
$ uname -rm
2.6.38-13-generic x86_64
$ gnome-about --gnome-version
Version: 2.32.1

Cordialement

Hors ligne

#3 Le 19/12/2011, à 09:13

Riicooo

Re : [Script][Indicateur] Indicateur personnalisé...

oui, apparemment le texte n’apparaît seulement dans "applet de notification général", dans "applet de notification" il n’apparaît pas... cet applet est dispo en faisant "ajouter au tableau de bord".

Sur la 11.04 et la 11.10 ça marche

Hors ligne