Je cherche à développer des indicateurs simples, tels que numlock/capslock et brigthness, etc. Comment pourrais-je créer des indicateurs en python? Existe-t-il des tutoriels qui me guident dans la rédaction de mon premier indicateur (comme pour les applications en rapide)? Des solutions faciles pour commencer comme rapidement des modèles?
Vous pouvez trouver la page pour écrire des indicateurs d'application ici:
Voir également:
Sur cette page, vous trouverez des liens vers des exemples dans Python et dans la documentation de l'API. Le modèle ubuntu-application dans Quickly devrait contenir des exemples d'utilisation d'appindicateurs. Bonne chance!
Je pense que Rédaction d’indicateurs avec Python, GIR et GTK , comme mentionné par @fossfreedom, explique comment créer des indicateurs pour Unity. (Lire que 1ère)
J'utilise Ubuntu 14.04, rapidement 12.08.1. Ceci est une démonstration pour un exemple de travail complet construit à partir d'un modèle Quickly.
OP veut juste un indicateur (application graphique non complète) alors commençons par le modèle ubuntu-cli Quickly:
quickly create ubuntu-cli indicator-demo
Il est possible qu'un message d'erreur concernant un correctif non publié ( bogue n ° 106411 ) apparaisse dans ce modèle:
Creating project directory indicator-demo
Creating bzr repository and committing
Launching your newly created project!
Traceback (most recent call last):
...
OSError: [Errno 13] Permission denied
ERROR: create command failed
Aborting
Autorisations de correctifs
cd indicator-demo/
chmod +x bin/indicator-demo
Tester
$ quickly run
I'm launched and my args are:
Il y a un bel exemple PYGI de buntu Wiki: Indicateurs d'application . Il devrait être facile de l'intégrer.
Ouvrir pour éditer:
quickly edit
Modifiez __init__.py
, ajoutez les importations de modules nécessaires:
from gi.repository import Gtk
from gi.repository import AppIndicator3 as appindicator
Dans la fonction main()
, entre:
print _("I'm launched and my args are: %s") % (" ".join(args))
logging.debug(_('end of prog'))
ajouter:
ind = appindicator.Indicator.new_with_path (
_("Indicator demo for Quickly"),
"indicator-demo-icon-normal",
appindicator.IndicatorCategory.APPLICATION_STATUS,
indicator_democonfig.get_data_path())
ind.set_status (appindicator.IndicatorStatus.ACTIVE)
ind.set_attention_icon ("indicator-demo-icon-attention")
# create a menu
menu = Gtk.Menu()
# create one item
menu_items = Gtk.MenuItem(_("Quit"))
menu.append(menu_items)
# this is where you would connect your menu item up with a function:
menu_items.connect("activate", Gtk.main_quit )
# show the item
menu_items.show()
ind.set_menu(menu)
Gtk.main()
Ajoutez des icônes à un nouveau dossier de données:
mkdir data
J'ai copié des icônes de paquets installés, juste pour faire l'exemple:
cp /usr/share/icons/ubuntu-mono-dark/status/22/indicator-messages.svg data/indicator-demo-icon-normal.svg
cp /usr/share/icons/ubuntu-mono-dark/status/22/indicator-messages-new.svg data/indicator-demo-icon-attention.svg
Essaye-le:
quickly run
Créer un paquet et le publier:
quickly package
quickly share --ppa your-ppa
Notes:
Eh bien, je n’ai pas mis à jour le fichier de contrôle du paquet Debian, mais les dépendances ont été automatiquement ajoutées au DEB généré:
Package: indicator-demo
Version: 0.1
Architecture: all
Maintainer: UNKNOWN <UNKNOWN>
Installed-Size: 57
Depends: python (>= 2.7), python (<< 2.8), python:any (>= 2.7.1-0ubuntu2), gir1.2-gtk-3.0, gir1.2-appindicator3-0.1
Section: python
Priority: extra
Description: UNKNOWN
UNKNOWN
En outre, les icônes précédemment ajoutées dans le dossier de données ont été incluses dans le package.
J'ai déjà fait face à un cas similaire auparavant, Comment ajouter un applet d'état de modificateur de clavier au panneau Unity? . La réponse contient un exemple/prototype d'indicateur de clavier utilisant libappindicator (mais dans le langage de programmation c).
libappindicator manque d'une fonctionnalité importante qui facilite le portage d'autres indicateurs de postes de travail. L'icône ne peut être chargée qu'à partir du chemin. Voir le bogue 812067 API nécessaire: prise en charge de la configuration des icônes pixbuf
Références:
La référence complète de l'API pour libappindicator est disponible au format HTML dans le package libappindicator-doc
. Regardez dans /usr/share/gtk-doc/html/libappindicator/
Notez qu'il prend en charge l'ajout d'une étiquette à une icône d'indicateur située à côté.
Questions connexes:
Ce le lien vous apprendra à créer un indicateur de courrier nouveau en python + Unity, qui fonctionne avec GMail. Cela vous donnera une base solide dans la structure de base d'un applet tout en fournissant un exemple réel (bien que simpliste) que vous pouvez facilement étendre. Il parcourt le script final pièce par pièce.
This est un autre programme python avec des commentaires en code, créé avec Pygtk