Submenu items in the Nautilus right-click menu

I am trying to write an extension for nautilus that adds an item to the menu that appears when you right-click on a file (as shown in the image)

alt text

However, I would like to add a submenu to my custom menu item.

I downloaded the "nautilus-python" package, which includes examples of writing extensions for Nautilus (and so far it has turned out to be the best / only documentation I have found). It contains the .py submenu file, which contains the following:

import nautilus

class ExampleMenuProvider(nautilus.MenuProvider):

    def get_file_items(self, window, files):
        menuitem = nautilus.MenuItem('ExampleMenuProvider::Foo', 'Foo', '')

        submenu = nautilus.Menu()
        menuitem.set_submenu(submenu)

        menuitem = nautilus.MenuItem('ExampleMenuProvider::Bar','Bar','')
        submenu.append_item(menuitem)

        return menuitem,

    # FIXME: Why isn't this working?
    def get_background_items(self, window, file):
        submenu = nautilus.Menu()
        submenu.append_item(nautilus.MenuItem('ExampleMenuProvider::Bar', 'Bar', ''))

        menuitem = nautilus.MenuItem('ExampleMenuProvider::Foo', 'Foo', '')
        menuitem.set_submenu(submenu)

        return menuitem,

ps: I did not add "# FIX ME: Why does this not work?". which is actually included in the example

The code does not work. Even if I select the second function and leave only the first, it does not work.

Any help would be appreciated, thanks.

+3
1

.

  • init.
  • import nautilus
    
    class ExampleMenuProvider(nautilus.MenuProvider):
        def __init__(self):
            pass
    
        def get_file_items(self, window, files):
            submenu = nautilus.Menu()
    
            item = nautilus.MenuItem('Nautilus::sbi','Nau-T','image')
            item.set_submenu(submenu)
    
            item_two = nautilus.MenuItem('Nautilus::s','www','image')
            submenu.append_item(item_two)
    
            return item,
    
+3

Source: https://habr.com/ru/post/1724718/


All Articles