#!/usr/bin/env python #-*- coding: utf-8-*- # # Written by Florian Diesch # # Updates may be available at # # # This script is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # You are free to do with it what ever you want. # import nautilus import subprocess, urllib class PrintExtension(nautilus.MenuProvider): def __init__(self): pass def get_file_items(self, window, files): if len(files) < 1: return menu = nautilus.MenuItem('Nautilus::print', 'Print', 'Print selected file(s)') if files[0].get_uri_scheme() != 'file': menu.set_property('sensitive', False) else: menu.connect("activate", self.callback, window, files) return menu, def callback(self, menu, window, files): args=['gtklp'] args.extend(urllib.unquote(f.get_uri())[7:] for f in files if not f.is_gone()) subprocess.Popen(args)