LINUX.ORG.RU

Сообщения lasso

 

[pygtk] set_back_pixmap работает только интерактивно

Есть скрипт wpset, кой выставляет обоину на рутовом окне. Однако он не работает, если его запускать как

$ wpset blah.png
а только
$ python
>>> from wpset import *
>>> wp = wpset()
>>> wp.set('blah.png')

Почему?

#! /usr/bin/env python
# wpset, set wallpaper using gdk-pixbuf

import gtk

class wpset:
    def __init__(self):
        self.window = gtk.gdk.get_default_root_window()

    def set(self, imageFile):
        self.pixbuf = gtk.gdk.pixbuf_new_from_file(imageFile)
        self.pixmap, self.mask = self.pixbuf.render_pixmap_and_mask()
        self.window.set_back_pixmap(self.pixmap, False)

    def clear(self):
        self.window.set_back_pixmap(None, False)

if __name__ == '__main__':
    import sys, os

    wp = wpset()
    try:
        wp.set(os.path.expanduser(sys.argv[1]))
    except IndexError:
        wp.clear()

 

lasso
()

RSS подписка на новые темы