|  |  |  |  | 
| Nautilus.MenuProviderNautilus.MenuProvider — Nautilus.MenuProvider Reference | 
Nautilus.MenuProvider {get_file_items(window,
files);get_file_items_full(provider,
window,
files);get_background_items(window,
folder);get_background_items_full(provider,
window,
folder);Nautilus.menu_provider_emit_items_updated_signal(provider);
}
        If subclassed, Nautilus will request a list of Nautilus.MenuItem objects, 
        which are then attached to various menus.  Nautilus expects at least one of
        the following methods to be defined (or their *_full variants): get_file_items or
        get_background_items.
The get_toolbar_items methods were removed in nautilus-python 1.0 because they were removed from Nautilus 3. Technically, you should still be able to call those methods with nautilus-python 1.0 if you are running Nautilus 2.x with annotations.
Example 5. Nautilus.MenuProvider Example
from gi.repository import Nautilus, GObject
class ColumnExtension(GObject.GObject, Nautilus.MenuProvider):
    def __init__(self):
        pass
        
    def get_file_items(self, window, files):
        top_menuitem = Nautilus.MenuItem(name='ExampleMenuProvider::Foo', 
                                         label='Foo', 
                                         tip='',
                                         icon='')
        submenu = Nautilus.Menu()
        top_menuitem.set_submenu(submenu)
        sub_menuitem = Nautilus.MenuItem(name='ExampleMenuProvider::Bar', 
                                         label='Bar', 
                                         tip='',
                                         icon='')
        submenu.append_item(sub_menuitem)
        return top_menuitem,
    def get_background_items(self, window, file):
        submenu = Nautilus.Menu()
        submenu.append_item(Nautilus.MenuItem(name='ExampleMenuProvider::Bar2', 
                                         label='Bar2', 
                                         tip='',
                                         icon=''))
        menuitem = Nautilus.MenuItem(name='ExampleMenuProvider::Foo2', 
                                         label='Foo2', 
                                         tip='',
                                         icon='')
        menuitem.set_submenu(submenu)
        return menuitem,
    get_file_items(window,
               files);| 
 | the current gtk.Window | 
| 
 | a list of Nautilus.FileInfoobjects. | 
| Returns : | a list of Nautilus.MenuItemobjects | 
            The get_file_items() method returns a list of
            Nautilus.MenuItem objects.
          
get_file_items_full(provider,
                    window,
                    files);| 
 | the current Nautilus.MenuProviderinstance | 
| 
 | the current gtk.Window | 
| 
 | a list of Nautilus.FileInfoobjects. | 
| Returns : | a list of Nautilus.MenuItemobjects | 
            The get_file_items_full() method returns a list of
            Nautilus.MenuItem objects.
          
            This method was created in order to allow extension writers to call the 
            
get_background_items(window,
                     folder);| 
 | the current gtk.Window | 
| 
 | the current folder, as a Nautilus.FileInfoobject. | 
| Returns : | a list of Nautilus.MenuItemobjects | 
            The get_background_items() method returns a list of
            Nautilus.MenuItem objects.
          
get_background_items_full(provider,
                          window,
                          folder);| 
 | the current Nautilus.MenuProviderinstance | 
| 
 | the current gtk.Window | 
| 
 | the current folder, as a Nautilus.FileInfoobject. | 
| Returns : | a list of Nautilus.MenuItemobjects | 
            The get_background_items_full() method returns a list of
            Nautilus.MenuItem objects.
          
            This method was created in order to allow extension writers to call the 
            
menu_provider_emit_items_updated_signal(provider);| 
 | the current Nautilus.MenuProviderinstance | 
Emits the "items-updated" signal.