Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I need to change the menu items present in the Nautilus File Manager. I am open to getting my hands dirty in pyhton or anything else for that matter. I would like add or remove menu items from the context menu in Nautilus. Any help regarding this will be very helpful.

Note: i. I am not looking to going to any other file manager for this reason. ii. I am not talking about Nautilus scripts either. I would like to know how the menu item called 'Scripts' was created in the first place.

share|improve this question

2 Answers 2

up vote 2 down vote accepted

To add menu items to can write a Nautilus extension, like

from gi.repository import Nautilus, GObject

class MyItemExtension(GObject.GObject, Nautilus.MenuProvider):
    def get_file_items(self, window, files):
        menuitem = Nautilus.MenuItem(name='MyItem::SomeItem', 
                                     label='My Item', 
                                     tip='my own item',
                                     icon='')

        menuitem.connect('activate', self.on_menu_item_clicked, files)
        return menuitem,

    def on_menu_item_clicked(self, item, files):
        print [f.get_name() for f in files]

Save this into something like /usr/share/nautilus-python/extensions/myitem.py, install the package python-nautilus and restart Nautilus, for example by running nautilus -q; sleep 2; nautilus. Now you should see a new item "My Item" if you rightclick a file.

As far as I know there is no documented way to remove menu items.

The see API reference for some more information.

share|improve this answer

This applies only for Nautilus 3.8 and newer.


I know it is not the only place to do it, but you can add context options in the library : /usr/lib/nautilus/extensions-3.0.

The library files need to be .so hexadecimal libraries.

I think the other way to do it would be to modify the source code of Nautilus.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.