#!/usr/bin/python import gtk import os import pyinotify import re wm = pyinotify.WatchManager() mask = pyinotify.IN_DELETE | pyinotify.IN_CREATE | pyinotify.IN_MODIFY class PTmp(pyinotify.ProcessEvent): def process_IN_MODIFY(self, event): if event.name[0] =='.': return # print "Modify: %s " % os.path.join(event.path, event.name) url = "%s" % os.path.join(event.path, event.name) manager = gtk.recent_manager_get_for_screen(gtk.gdk.screen_get_default()) manager.add_full("file://%s" % (url) , {"mime_type": "text/xml", "app_name": "pyrecent", "app_exec": ""} ) def process_IN_CREATE(self, event): if event.name[0] =='.': return # print "Create: %s " % os.path.join(event.path, event.name) url = "%s" % os.path.join(event.path, event.name) manager = gtk.recent_manager_get_for_screen(gtk.gdk.screen_get_default()) manager.add_full("file://%s" % (url) , {"mime_type": "text/xml", "app_name": "pyrecent", "app_exec": ""} ) notifier = pyinotify.Notifier(wm, PTmp()) wdd = wm.add_watch('/home/dgtlmoon/Desktop/', mask, rec=True, auto_add=True) wdd = wm.add_watch('/home/dgtlmoon/workspace/', mask, rec=True, auto_add=True) wdd = wm.add_watch('/home/dgtlmoon/Downloads', mask, rec=True, auto_add=True) while True: notifier.process_events() if notifier.check_events(): notifier.read_events()