Mercurial > pidgin
view src/gaim-notifications-example @ 14141:5f656a0a82b7
[gaim-migrate @ 16783]
Whitespace and warning fixes:
gtkaccount.c: In function ?icon_select_cb?:
gtkaccount.c:289: warning: passing argument 1 of
?gaim_gtk_buddy_icon_chooser_new? from incompatible pointer type
gtkaccount.c:289: warning: passing argument 2 of
?gaim_gtk_buddy_icon_chooser_new? from incompatible pointer type
gtkstatusbox.c: In function ?icon_box_press_cb?:
gtkstatusbox.c:951: warning: passing argument 2 of
?gaim_gtk_buddy_icon_chooser_new? from incompatible pointer type
gtkstatusbox.c:951: warning: ISO C90 forbids mixed declarations and code
gtkstatusbox.c: In function ?icon_box_enter_cb?:
gtkstatusbox.c:960: warning: passing argument 1 of ?gtk_image_set_from_pixbuf?
from incompatible pointer type
gtkstatusbox.c: In function ?icon_box_leave_cb?:
gtkstatusbox.c:968: warning: passing argument 1 of ?gtk_image_set_from_pixbuf?
from incompatible pointer type
gtkstatusbox.c: In function ?gtk_gaim_status_box_size_allocate?:
gtkstatusbox.c:1183: warning: passing argument 1 of ?gtk_image_set_from_pixbuf?
from incompatible pointer type
gtkstatusbox.c: In function ?gtk_gaim_status_box_set_buddy_icon?:
gtkstatusbox.c:1338: warning: passing argument 1 of ?gtk_image_set_from_pixbuf?
from incompatible pointer type
gtkutils.c: In function ?gaim_gtk_convert_buddy_icon?:
gtkutils.c:2463: warning: ISO C90 forbids mixed declarations and code
committer: Tailor Script <tailor@pidgin.im>
| author | Mark Doliner <mark@kingant.net> |
|---|---|
| date | Wed, 16 Aug 2006 06:31:59 +0000 |
| parents | 13b7e59a0759 |
| children |
line wrap: on
line source
#!/usr/bin/env python # This is a simple gaim notification server. # It shows notifications when your buddy signs on or you get an IM message. # # This script requires Python 2.4 and PyGTK bindings # # Note that all function names are resolved dynamically, no # gaim-specific library is needed. import dbus import dbus.glib import dbus.decorators import gobject import os def ensureimconversation(conversation, account, name): if conversation != 0: return conversation else: # 1 = GAIM_CONV_IM return gaim.GaimConversationNew(1, account, name) def receivedimmsg(account, name, message, conversation, flags): buddy = gaim.GaimFindBuddy(account, name) if buddy != 0: alias = gaim.GaimBuddyGetAlias(buddy) else: alias = name text = "%s says %s" % (alias, message) code = os.spawnlp(os.P_WAIT, "xmessage", "xmessage", "-buttons", "'So what?','Show me',Close,Abuse", text) if code == 101: # so what? pass else: conversation = ensureimconversation(conversation, account, name) if code == 102: # show me window = gaim.GaimConversationGetWindow(conversation) gaim.GaimConvWindowRaise(window) if code == 103: # close gaim.GaimConversationDestroy(conversation) if code == 104: # abuse im = gaim.GaimConversationGetImData(conversation) gaim.GaimConvImSend(im, "Go away you f...") def buddysignedon(buddyid): alias = gaim.GaimBuddyGetAlias(buddyid) text = "%s is online" % alias code = os.spawnlp(os.P_WAIT, "xmessage", "xmessage", "-buttons", "'So what?','Let's talk'", text) if code == 101: # so what? pass if code == 102: # talk name = gaim.GaimBuddyGetName(buddyid) account = gaim.GaimBuddyGetAccount(buddyid) gaim.GaimConversationNew(1, account, name) bus = dbus.SessionBus() obj = bus.get_object("net.sf.gaim.GaimService", "/net/sf/gaim/GaimObject") gaim = dbus.Interface(obj, "net.sf.gaim.GaimInterface") bus.add_signal_receiver(receivedimmsg, dbus_interface = "net.sf.gaim.GaimInterface", signal_name = "ReceivedImMsg") bus.add_signal_receiver(buddysignedon, dbus_interface = "net.sf.gaim.GaimInterface", signal_name = "BuddySignedOn") print "This is a simple gaim notification server." print "It shows notifications when your buddy signs on or you get an IM message." loop = gobject.MainLoop() loop.run()
