2009-11-05 9 views
7

In Gnome ändert sich der Mauszeiger bei jedem Start einer Anwendung vom normalen in einen Aktivitätsindikator (ein Ding vom Typ "Spinning Wheel" unter Ubuntu). Gibt es eine Möglichkeit, Gnome (durch einen Systemaufruf) zu informieren, wenn die Anwendung den Start beendet hat, so dass der Mauscursor zum Normalzustand zurückkehrt, ohne auf das übliche Timeout von 30 Sekunden zu warten.GTK + Startup Notification Icon

Ich habe ein Programm in Pythong mit GTK +, das das Symbol auch nach dem Start zeigt, also welchen Systemaufruf mache ich?

Antwort

5

Normalerweise automatisch geschieht, wenn Sie das Fenster der Anwendung zu öffnen.

Es kann sein, dass der Launcher der Anwendung nur eine bereits laufende Instanz aufruft und in diesem Fall nicht automatisch erkannt wird. Der Anruf Sie dann benötigen, ist dieses:

import gtk 
gtk.gdk.notify_startup_complete() 
0

Diese normalerweise automatisch geschieht beim Aufruf der Funktion gtk.main()

2

Ihre Anwendung kann durch das Hinzufügen von Start Benachrichtigung entscheiden

StartupNotify=false 

auf Ihre .desktop Datei der Anwendung.

Natürlich ist es freundlicher, es aktiviert zu lassen und an Startup-Benachrichtigungen teilzunehmen.

1

Ich hatte ein ähnliches Problem mit einer Anwendung, die ich schrieb. Ich war die Anwendung durch ein Shell-Skript startet die Linie

python /path/to/application.py 

Dieser startete die Anwendung enthält, wie ich erwartet hatte, aber die Startbenachrichtigung nicht stoppen. Es funktionierte richtig, wenn ich den Inhalt meiner Skript dies geändert:

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

Offensichtlich ist die letztere scheint der richtige Weg, um die Anwendung zu starten, auch wenn ich nicht genug Einblick, warum zu sagen haben kann.