Detectando o screensaver com D-BUS
14/10/06
Imagine que você precise detectar se o screensaver está ativo ou não. Utilizando o D-BUS, é muito simples!
Tudo o que você precisa fazer é acessar a interface "org.gnome.ScreenSaver", presente no Gnome.
bus = dbus.SessionBus() obj = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver') screensaver = dbus.Interface(obj, 'org.gnome.ScreenSaver') screensaver.connect_to_signal('ActiveChanged', detect_screensaver)
Abaixo, você tem um exemplo completo.
#! /usr/bin/env python import dbus import dbus.glib import commands import gtk def detect_screensaver(enabled): print "Screensaver enabled? %s" % enabled def enable_screensaver(widget): commands.getoutput(' gnome-screensaver-command --activate') bus = dbus.SessionBus() obj = bus.get_object('org.gnome.ScreenSaver', '/org/gnome/ScreenSaver') screensaver = dbus.Interface(obj, 'org.gnome.ScreenSaver') screensaver.connect_to_signal('ActiveChanged', detect_screensaver) win = gtk.Window() button = gtk.Button('Activate screensaver') win.connect('destroy', gtk.main_quit) button.connect('pressed', enable_screensaver) win.add(button) win.show_all() gtk.main()
- Permalink
- Trackback
- Feed dos comentários
- Ao som de: +44 – Chapter XIII

Comentários #
Deixe um comentário