Você pode usar a API de extensão do Nautilus para isso. Em particular, eu recomendo Nautilus-Python .
Aqui está um exemplo simples que adiciona um item de menu de contexto para o tipo MIME text/plain
:
from gi.repository import Nautilus, GObject
class ExampleMenuProvider(GObject.GObject, Nautilus.MenuProvider):
def activate(self, menu, files):
print 'activated' # do something
def get_file_items(self, window, files):
if len(files) != 1 or files[0].get_mime_type() != 'text/plain': return
item = Nautilus.MenuItem(
name='SimpleMenuExtension::Do_Something', label='Do Something')
item.connect('activate', self.activate, files)
return [item]
Você precisará instalar python-nautilus
e gir1.2-gconf-2.0
packages e colocar o script Python acima em ~/.local/share/nautilus-python/extensions/
.