Question

I'm trying to add a menu entry to file manager(nautilus) that call my own python/Qt program that do some work on the selected file/folder

i found

  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,

But i couldn't find the nautilus module anywhere to install

and i read somewhere that i should create a nautilus extension but installing nautilus-extension but if i install this package on my dev machine how can i garanty that in will be installed on the client machine

and thank you for your help

Was it helpful?

Solution

but if i install this package on my dev machine how can i garanty that in will be installed on the client machine

There are at least two options:

  • Document in your README how to get the dependencies installed.

  • Ship that module alongside your application.

I would personally prefer the former because that would allow users to benefit from the system-wide installation on their Linux machine.

For instance, if a bug is fixed in that module, they could update it on your system without you shipping a new version, or messing themselves with the installation directory.

It ain't that bad in my opinion, and after all, you have the same situation with the Python dependency and the Qt library. Presumably, you also let your users know where they can obtain them if they have difficulties.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top