Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python2
- ## Thanks to : ## Lucas Rocha - http://blogs.gnome.org/lucasr/
- import gtk
- import os
- import random
- import mimetypes
- import gobject
- ## Images directory
- IMG_DIR = '/home/paul/Afbeeldingen/image_desklet'
- ## Time between change ( in sec )
- TIMER = 100000
- ## Background color : HTML Color or None
- BG_COLOR = "#202020"
- ## Position on desktop
- POS_X = 1200
- POS_Y = 550
- ## Image size
- WIDTH = 374
- HEIGHT = 520
- ## Show a border : True or False
- SHOW_BORDER = False
- class App():
- #-----------------------------------------------------------------------
- def __init__(self):
- self.window = gtk.Window() ## gtk.WINDOW_TOPLEVEL)
- self.window.add_events(gtk.gdk.BUTTON_PRESS_MASK)
- self.window.connect("destroy", gtk.main_quit)
- self.window.connect("button_press_event", self.onClick)
- self.window.stick()
- self.window.set_decorated(False)
- self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DESKTOP)
- self.window.set_skip_taskbar_hint(True)
- if SHOW_BORDER:
- self.window.set_border_width(1)
- else:
- self.window.set_border_width(0)
- if BG_COLOR:
- self.window.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(BG_COLOR))
- self.img = gtk.Image()
- dir_items = os.listdir(IMG_DIR)
- self.items = []
- for item in dir_items:
- mimetype = mimetypes.guess_type(item)[0]
- if mimetype and mimetype.split('/')[0] == 'image':
- self.items.append(os.path.join(IMG_DIR, item))
- self.img.set_size_request(WIDTH,HEIGHT)
- self.set_image()
- self.img.show()
- self.window.add(self.img)
- gobject.timeout_add(TIMER*1000, self.set_image)
- self.popupMenu = gtk.Menu()
- menuPopup = gtk.ImageMenuItem (gtk.STOCK_QUIT)
- menuPopup.connect("activate", gtk.main_quit)
- self.popupMenu.add(menuPopup)
- self.popupMenu.show_all()
- self.window.move(POS_X, POS_Y)
- self.window.show_all()
- def set_image(self, widget=None, event=None):
- item = random.randint(0, len(self.items)-1)
- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(self.items[item],WIDTH,HEIGHT)
- self.img.set_from_pixbuf(pixbuf)
- return True
- def onClick(self, widget, event, data=None):
- if event.button==3: # right click
- self.popupMenu.popup(None, None, None, event.button, event.time)
- elif event.button==1: # left click
- self.set_image()
- def run(self):
- gtk.main()
- if __name__ == "__main__":
- my_image = App()
- my_image.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement