Jak dodać customowe opcje do menu plików w Nautilusie

EDIT: to rozwiązanie jest lepsze (FileManager-Actions): https://askubuntu.com/a/77285


https://askubuntu.com/questions/21953/how-do-i-customize-the-context-menu-in-nautilus/77285#77285

Aby dodać skrypt, który konwertuje pliki eml do PDF, użyłem:

import os
from gi.repository import Nautilus, GObject

from urllib.parse import unquote

def pathof(file):
  return unquote(str(file.get_uri()).replace("file://", ""))

class ColumnExtension(GObject.GObject, Nautilus.MenuProvider):
    def __init__(self):
        pass
      
    def menu_activate_cb(self, menu, file):
         os.system("/home/kuba/bin/mail2pdf '" + pathof(file) + "'")

    def get_file_items(self, window, files):
        if len(files) == 0:
          return
        print(pathof(files[0]))
        if pathof(files[0]).endswith(".eml"):
          item = Nautilus.MenuItem(name='ExampleMenuProvider::Foo2', 
                                         label='Convert email to PDF', 
                                         tip='',
                                         icon='')
          item.connect('activate', self.menu_activate_cb, files[0])
          return item,

I umieściłem to w ~/.local/share/nautilus-python/extensions/mail2pdf.py