summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-10-05 22:23:42 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-10-05 22:23:42 +0800
commit8a4eb40abff0441c015f15fa864967e106868f52 (patch)
tree6cd438cf647e185bf71ed3490760184b928c7001 /ui
parent3d36b0eb76eafcda76082baecf34a48d6cbb0319 (diff)
downloadibus-8a4eb40abff0441c015f15fa864967e106868f52.tar.gz
ibus-8a4eb40abff0441c015f15fa864967e106868f52.tar.xz
ibus-8a4eb40abff0441c015f15fa864967e106868f52.zip
Move notify from daemon to ui/gtk
Diffstat (limited to 'ui')
-rw-r--r--ui/gtk/notify.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/ui/gtk/notify.py b/ui/gtk/notify.py
new file mode 100644
index 0000000..3274f7d
--- /dev/null
+++ b/ui/gtk/notify.py
@@ -0,0 +1,46 @@
+# vim:set et sts=4 sw=4:
+#
+# ibus - The Input Bus
+#
+# Copyright (c) 2007-2008 Huang Peng <shawn.p.huang@gmail.com>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+# Boston, MA 02111-1307 USA
+
+import dbus
+
+try:
+ __bus = dbus.SessionBus()
+ __notify = __bus.get_object("org.freedesktop.Notifications", "/org/freedesktop/Notifications")
+except:
+ import traceback
+ traceback.print_exc()
+ __notify = None
+
+__ignore_ids = set([])
+
+def Notify(id, summary, body, icon):
+ if id in __ignore_ids:
+ return
+ if __notify == None:
+ return
+ if icon == None:
+ icon = "ibus"
+ __notify.Notify("ibus", dbus.UInt32(id), icon, summary, body, \
+ ["Do not show it again", "Do not show it again"], \
+ dbus.Dictionary({"x" :100, "y" : 100}, signature="sv"), 5000)
+
+if __name__ == "__main__":
+ Notify(1, "A", "B", None)