Fügen Sie Nautilus Rechtsklick-Menüs ohne Nautilus-Aktionen hinzu

7

Ich möchte wissen, wie ich Aktionen hinzufügen kann, wenn der Benutzer mit der rechten Maustaste auf bestimmte MIME-Typen oder Ordner klickt, ohne Nautilus-Aktionen zu verwenden.

Ich würde mich freuen, wenn dies auch mit Nautilus-Skripten möglich wäre, aber ich möchte, dass sie nur bei bestimmten MIME-Typen angezeigt werden.

Ich glaube es ist möglich: Ubuntu One macht es.

Hytromo
quelle

Antworten:

5

Sie können dafür die Nautilus-Erweiterungs-API verwenden. Insbesondere empfehle ich Nautilus-Python .

Hier ist ein einfaches Beispiel, das ein Kontextmenüelement für den MIME-Typ hinzufügt text/plain:

from gi.repository import Nautilus, GObject

class ExampleMenuProvider(GObject.GObject, Nautilus.MenuProvider):
    def activate(self, menu, files):
        print 'activated' # do something

    def get_file_items(self, window, files):
        if len(files) != 1 or files[0].get_mime_type() != 'text/plain': return
        item = Nautilus.MenuItem(
            name='SimpleMenuExtension::Do_Something', label='Do Something')
        item.connect('activate', self.activate, files)
        return [item]

Sie müssen das obige Python-Skript installieren python-nautilusund gir1.2-gconf-2.0verpacken und platzieren ~/.local/share/nautilus-python/extensions/.

vitaut
quelle
Vielen Dank! Das ist sehr nützlich! Gibt es etwas für C / C ++? Auf Ihrem Link sagt etwas über C aber ...
Hytromo
@akermania: Es gibt eine C-API in developer.gnome.org/libnautilus-extension/stable
vitaut