2012-07-01 21 views
6

現在、Python用のGObjectsモジュールのドキュメンテーションが明確にないため、誰かが私を助けてくれるかもしれません。GObjectで通知を送信する

私は、イベントが発生したことをユーザーに通知する必要があるアプリケーションを作成しています。私はfrom gi.repository import Notifyとそれに関連するクラスを使用して、Skypeの通知とCのドキュメントに短いスニペットを使用することを発見しましたが、Notify.uninitを呼び出すと終了していないようです。プログラムは終了しますが、小さな通知ウィンドウのものはそのまま残ります。右クリックして[削除]を選択すると、終了する必要があります。だから、Mac OSの場合と同じようなものがあれば、何か起こったときにアプリケーションアイコンが揺れる/跳ね返るか、Windowsでアプリケーションのアイコンが違う色に輝くようなものがあるかのような別の方法があるのだろうか?

メッセージスタックなどのGnome 3通知システムが好きですが、アプリケーションが終了しても消えないように見えるので、正しく使用する方法が分からない限りこれを行うには...タイムアウトを設定するのを忘れていたかもしれませんが、なぜ通知スポットが消えないようにすることができないのかはまだ分かりません。

答えて

6

Notify.uninitを呼び出すと、通知が消えることはありません。libnotifyに通知するだけで、アプリケーションには不要になることが通知されます。通知を消すには、次の例のように明示的に閉じる必要があります。

import time 
from gi.repository import Notify 

Notify.init('myapp') 

# optionally set an icon as the last argument 
n = Notify.Notification.new('summary text', 'body text', "dialog-information") 
n.show() 

# do whatever your application is doing 
time.sleep(10) 

n.close() 
Notify.uninit() 
+1

+1何らかの理由でPyGobjectのドキュメントが抜けているためです。 – astrojuanlu

関連する問題