~segphault/grabbersnap/trunk

« back to all changes in this revision

Viewing changes to grabbersnap/gintegration.py

  • Committer: Ryan Paul
  • Date: 2009-01-02 02:31:34 UTC
  • Revision ID: segphault@arstechnica.com-20090102023134-iid7grhdkhoshdk2
Added account system

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
import dbus, gobject, dbus.glib, os, sys
 
3
 
 
4
try:
 
5
  notifier = dbus.Interface(dbus.SessionBus().get_object(
 
6
    "org.freedesktop.Notifications", "/org/freedesktop/Notifications"),
 
7
    "org.freedesktop.Notifications")
 
8
 
 
9
  def notify(title, text, icon = None, actions = [], timer = 9000):
 
10
    return notifier.Notify("Gwibber", 0, icon, title, text, actions, {}, timer)
 
11
 
 
12
  can_notify = True
 
13
except:
 
14
  can_notify = False
 
15
 
 
16
try:
 
17
  import sexy
 
18
  SPELLCHECK_ENABLED = True
 
19
except:
 
20
  SPELLCHECK_ENABLED = False
 
21
 
 
22
try:
 
23
  import gnome
 
24
  def load_url(url): gnome.url_show(url)
 
25
except:
 
26
  def load_url(url): os.system("xdg-open %s" % url)
 
27
 
 
28
def service_is_running(name):
 
29
  return name in dbus.Interface(dbus.SessionBus().get_object(
 
30
    "org.freedesktop.DBus", "/org/freedesktop/DBus"),
 
31
      "org.freedesktop.DBus").ListNames()
 
32
 
 
33
def create_tomboy_note(text, display = True):
 
34
  obj = dbus.SessionBus().get_object("org.gnome.Tomboy", "/org/gnome/Tomboy/RemoteControl")
 
35
  tomboy = dbus.Interface(obj, "org.gnome.Tomboy.RemoteControl")
 
36
  
 
37
  n = tomboy.CreateNote()
 
38
  tomboy.SetNoteContents(n, text)
 
39
  if display: tomboy.DisplayNote(n)
 
40
 
 
41
def set_pidgin_status_text(message):
 
42
  bus = dbus.SessionBus()
 
43
  obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
 
44
  purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")
 
45
  
 
46
  current = purple.PurpleSavedstatusGetType(purple.PurpleSavedstatusGetCurrent())
 
47
  status = purple.PurpleSavedstatusNew("", current)
 
48
  purple.PurpleSavedstatusSetMessage(status, message)
 
49
  purple.PurpleSavedstatusActivate(status)