2009-11-05 3 views
7

Dans Gnome, à chaque démarrage d'une application, le curseur de la souris passe de l'état normal à un indicateur d'activité (chose de type roue tournante sous Ubuntu). Est-il possible d'informer Gnome (via un appel système) lorsque l'application a fini de se lancer afin que le curseur de la souris revienne à la normale sans attendre le délai habituel de 30 secondes.GTK + Icône de notification de démarrage

J'ai un programme en Pythong utilisant GTK + qui affiche l'icône même après le lancement, donc quel appel système dois-je faire?

Répondre

5

Normalement, il se produit automatiquement lorsque vous ouvrez la fenêtre de l'application.

Il se peut que le programme de lancement de l'application appelle simplement une instance déjà en cours d'exécution, dans ce cas, il ne sera pas détecté automatiquement. L'appel dont vous avez besoin est alors ceci:

import gtk 
gtk.gdk.notify_startup_complete() 
0

Cela se produit normalement automatiquement lorsque vous appelez la fonction gtk.main()

2

Votre application peut se retirer de la notification de démarrage en ajoutant

StartupNotify=false 

au fichier .desktop de votre application.

Bien sûr, il est plus simple de le laisser activé et de participer à la notification de démarrage.

1

J'ai eu un problème similaire avec une application que j'ai écrite. Je lançais l'application via un script shell contenant la ligne

python /path/to/application.py 

Ce lancement de l'application comme je m'y attendais, mais la notification de démarrage n'a pas cessé. Il a fonctionné correctement une fois que je changé le contenu de mon script à ceci:

exec "/usr/bin/python" "/path/to/application.py" 

Il est évident que celui-ci semble être la bonne façon de lancer l'application, bien que je n'ai pas assez de perspicacité pour dire pourquoi.

Questions connexes