import eog import os import gtk ui_str = """ """ class EoGInvokerPlugin(eog.Plugin): def __init__(self): eog.Plugin.__init__(self) def activate(self, window): print 'The answer landed on my rooftop, whoa' data = dict() ui_manager = window.get_ui_manager() data['group'] = gtk.ActionGroup('EoGInvoker') data['group'].add_actions([('InvokeGIMP', None, 'Invoke Gimp', None, None, self.invoke_cb)], window) ui_manager.insert_action_group(data['group'], 0) data['ui_id'] = ui_manager.add_ui_from_string(ui_str) window.set_data('EogInvokerPluginInfo', data) window.connect('delete-event', self.self_deactivate) def deactivate(self, window): data = window.get_data('EogInvokerPluginInfo') ui_manager = window.get_ui_manager() ui_manager.remove_ui(data['ui_id']) ui_manager.remove_action_group(data['group']) ui_manager.ensure_update() window.set_data("EogInvokerPluginInfo", None) def invoke_cb(self, action, window): os.system("gimp \"" + window.get_image().get_uri_for_display() + "\" &") def self_deactivate(self, window, event): self.deactivate(window)