1
2
3 import gtk
4 import gtk.glade
5 import gconf
6
7 class GConfExample:
8
9 def do_exit (self, window):
10 gtk.main_quit ()
11 def new_background (self, client, cnxn_id, entry, user_data):
12 image = client.get_string (
13 "/desktop/gnome/background/picture_filename")
14 pixbuf = gtk.gdk.pixbuf_new_from_file_at_size (image, 300, 300)
15 self.entry.set_text (image)
16 self.image.set_from_pixbuf (pixbuf)
17
18
19 def __init__ (self):
20 xml = gtk.glade.XML ('gconf-example.glade', None, None)
21 client = gconf.client_get_default ()
22
23 self.image = xml.get_widget ('preview_image')
24 self.entry = xml.get_widget ('image_name')
25
26 xml.signal_autoconnect (self)
27 client.add_dir ("/desktop/gnome/background",
28 gconf.CLIENT_PRELOAD_NONE)
29 client.notify_add ("/desktop/gnome/background/picture_filename",
30 self.new_background)
31
32 self.new_background (client, None, None, None)
33 xml.get_widget ('window').show_all ()
34
35 if __name__ == '__main__':
36 GConfExample ()
37 gtk.main ()